Tôi muốn có thể tìm thấy tất cả các loại cha mẹ (lớp cơ sở và giao diện) cho một loại cụ thể.Tìm tất cả các loại cha (cả hai lớp cơ sở và giao diện)
EG nếu tôi có
class A : B, C { }
class B : D { }
interface C : E { }
class D { }
interface E { }
tôi muốn thấy rằng A là B C D và E và Object
Whats cách tốt nhất để làm điều này? là có một phương pháp phản ánh để làm điều này hay tôi cần phải làm cho bản thân mình một cái gì đó.
==== EDIT ====
Vì vậy, một cái gì đó như thế này?
public static IEnumerable<Type> ParentTypes(this Type type)
{
foreach (Type i in type.GetInterfaces())
{
yield return i;
foreach (Type t in i.ParentTypes())
{
yield return t;
}
}
if (type.BaseType != null)
{
yield return type.BaseType;
foreach (Type b in type.BaseType.ParentTypes())
{
yield return b;
}
}
}
Tôi đã hy vọng tôi không phải tự làm điều đó mà là tốt.