Supponendo la seguente gerarchia di ereditarietà ipotetica:
public interface IA
{
int ID { get; set; }
}
public interface IB : IA
{
string Name { get; set; }
}
Usando la riflessione e facendo la seguente chiamata:
typeof(IB).GetProperties(BindingFlags.Public | BindingFlags.Instance)
restituirà solo le proprietà dell'interfaccia IB
, che è " Name
".
Se dovessimo fare un test simile sul seguente codice,
public abstract class A
{
public int ID { get; set; }
}
public class B : A
{
public string Name { get; set; }
}
la chiamata typeof(B).GetProperties(BindingFlags.Public | BindingFlags.Instance)
restituirà un array di PropertyInfo
oggetti per " ID
" e " Name
".
Esiste un modo semplice per trovare tutte le proprietà nella gerarchia di ereditarietà per le interfacce come nel primo esempio?