Предполагая, что когда вы говорите, просматривая поле и свойства класса, вы имеете в виду стандартное отражение, а именно, у вас есть объекты типа PropertyInfo
и FieldInfo
.
Так что для PropertyInfo
вы можете сделать следующее:
var pi = typeof(DateTime).GetProperty("Now");
var result = pi.PropertyType.GetInterface("INotifiyPropertyChanged");
Console.WriteLine(result != null);
А для FieldInfo
очень похоже, и вам просто нужно использовать fi.FieldType.GetInterface("INotifiyPropertyChanged")
.
Обновление: Если у вас уже есть объект System.Type
, вы можете вызвать метод GetInterface
непосредственно для этого объекта, чтобы проверить, реализуют ли экземпляры данного типа конкретный интерфейс или нет.