Suponiendo la siguiente jerarquía de herencia hipotética:
public interface IA
{
int ID { get; set; }
}
public interface IB : IA
{
string Name { get; set; }
}
Usando la reflexión y haciendo la siguiente llamada:
typeof(IB).GetProperties(BindingFlags.Public | BindingFlags.Instance)
solo producirá las propiedades de la interfaz IB
, que es " Name
".
Si hiciéramos una prueba similar en el siguiente código,
public abstract class A
{
public int ID { get; set; }
}
public class B : A
{
public string Name { get; set; }
}
la llamada typeof(B).GetProperties(BindingFlags.Public | BindingFlags.Instance)
devolverá una matriz de PropertyInfo
objetos para " ID
" y " Name
".
¿Existe una manera fácil de encontrar todas las propiedades en la jerarquía de herencia para interfaces como en el primer ejemplo?