Предполагая следующую гипотетическую иерархию наследования:GetProperties() возвращает все свойства для иерархии наследования интерфейса
public interface IA
{
int ID { get; set; }
}
public interface IB : IA
{
string Name { get; set; }
}
с помощью отражения и делает следующий вызов:
typeof(IB).GetProperties(BindingFlags.Public | BindingFlags.Instance)
позволит получить только свойство интерфейс IB
, который является «Name
».
Если бы мы должны были сделать подобный тест на следующий код,
public abstract class A
{
public int ID { get; set; }
}
public class B : A
{
public string Name { get; set; }
}
вызов typeof(B).GetProperties(BindingFlags.Public | BindingFlags.Instance)
возвращает массив объектов PropertyInfo
для «ID
» и «Name
».
Есть ли простой способ найти все свойства в иерархии наследования для интерфейсов, как в первом примере?
Чистый блеск! Спасибо, что я решил проблему, связанную с вопросом о. – kamui 2012-04-12 13:00:55
Для этого недостаточно во всём мире. – Chao 2012-05-11 15:39:30