Используйте оператор 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;
