Supondo a seguinte hierarquia de herança hipotética:
public interface IA
{
int ID { get; set; }
}
public interface IB : IA
{
string Name { get; set; }
}
Usando reflexão e fazendo a seguinte chamada:
typeof(IB).GetProperties(BindingFlags.Public | BindingFlags.Instance)
só produzirá as propriedades da interface IB
, que é " Name
".
Se fizéssemos um teste semelhante no código a seguir,
public abstract class A
{
public int ID { get; set; }
}
public class B : A
{
public string Name { get; set; }
}
a chamada typeof(B).GetProperties(BindingFlags.Public | BindingFlags.Instance)
retornará uma matriz de PropertyInfo
objetos para " ID
" e " Name
".
Existe uma maneira fácil de encontrar todas as propriedades na hierarquia de herança para interfaces como no primeiro exemplo?