Deseo poder encontrar todos los tipos principales (clases base e interfaces) para un tipo específico.Buscar todos los tipos principales (tanto las clases base como las interfaces)
por ejemplo, si tengo
class A : B, C { }
class B : D { }
interface C : E { }
class D { }
interface E { }
quiero ver que A es B C D y E y el objeto
Cuál es la mejor manera de hacer esto? hay un método de reflexión para hacer esto o necesito hacerme algo?
==== ==== EDITAR
Así que algo como esto?
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;
}
}
}
Estaba esperando que no tuviera que hacerlo yo solo, pero bueno.