Используйте оператор is в C#
Оператор is позволяет определить, можно ли преобразовать объект в определенный тип. Например, предположим, что класс Student наследуется от Person и что student и person являются объектами очевидных классов , Затем, например, оператор student является Person возвращает true, потому что объект student может быть преобразован в Person object (потому что объект Student является видом объекта Person).
Эта программа использует следующий код для демонстрации инструкции is.
private void Form1_Load(object sender, EventArgs e) { Person person = new Person(); Student student = new Student(); object obj = student; if (student is Student) lstResults.Items.Add("a_student is a Student"); else lstResults.Items.Add("a_student is not a Student"); if (student is Person) lstResults.Items.Add("a_student is a Person"); else lstResults.Items.Add("a_student is not a Person"); if (person is Person) lstResults.Items.Add("a_person is a Person"); else lstResults.Items.Add("a_person is not a Person"); if (person is Student) lstResults.Items.Add("a_person is a Student"); else lstResults.Items.Add("a_person is not a Student"); }
В качестве альтернативы вы можете использовать ключевое слово as, чтобы попытаться преобразовать объект в другой тип. Например, следующий оператор пытается преобразовать объект Person в объект Student.
Student student = person as Student;