Suponiendo que la siguiente jerarquía de herencia hipotético:GetProperties() para devolver todas las propiedades para una jerarquía de herencia interfaz
public interface IA
{
int ID { get; set; }
}
public interface IB : IA
{
string Name { get; set; }
}
Uso de reflexión y haciendo que la llamada siguiente:
typeof(IB).GetProperties(BindingFlags.Public | BindingFlags.Instance)
sólo habrá producir las propiedades de interfaz IB
, que es "Name
".
Si tuviéramos que hacer 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)
devuelve un vector de objetos PropertyInfo
para "ID
" y "Name
".
¿Hay una manera fácil de encontrar todas las propiedades en la jerarquía de herencia para las interfaces como en el primer ejemplo?
Pure Brilliance! Gracias, esto resolvió un problema que estaba teniendo similar a la pregunta de la operación. – kamui
No hay suficientes votaciones en el mundo para esto. – Chao
Sus referencias a BindingFlags.FlattenHierarchy son redundantes ya que también está utilizando BindingFlags.Instance. –