Моя цель - выяснить, реализует ли класс интерфейс напрямую. В приведенном ниже примере класс B реализует интерфейс IB, а интерфейс IB реализует IA.Как найти иерархию наследования интерфейса для типа?
Как узнать иерархию наследования? Когда мы просматриваем тип в обозревателе объектов, он показывает подробную иерархию. Как я могу достичь аналогичного результата?
interface IA
{
string Member1 { get;set; }
}
interface IB : IA
{
string Member2 { get; set; }
}
class B : IB
{
public string Member1 { get; set; }
public string Member2 { get; set; }
}
Отражатель Скриншот
alt text http://img571.imageshack.us/img571/7485/49211426.png
В скриншоте, взятой из отражателя он показывает иерархию интерфейсов, а также.
Как узнать иерархию интерфейса для типа.
http://msdn.microsoft.com/en-us/library/system.type.basetype.aspx –
BaseType of B (typeof (B) .BaseType) возвращает объект – Zuhaib
В этом случае вы знаете, что это не унаследованные любыми другими типами, и вы можете проверить сами интерфейсы ... Как и с методом Type.GetInterfaces (вы можете вызывать его рекурсивно, чтобы получить все интерфейсы - не очень эффективны, но работают). –