Я использую отражение в проекте PCL
(4.5, профиль 78). API отражения изменился в версии 4.5 (см. Развитие API отражения), и хотя это изменение едва заметно в классической структуре (где TypeInfo
наследуется от Type
), это что-то еще для других профилей, включая PCL
.
В .NET 4 это приведет к получению всех общедоступных членов:
typeof(MyType).GetMembers ();
The rough equivalent in .NET 4.5 is
typeof (MyType).GetTypeInfo ().DeclaredMembers;
except that it returns all the members. The doc says
Чтобы отфильтровать результаты свойства DeclaredMembers, используйте запросы LINQ.
Хорошо. Я бы хотел, но MemberInfo
не предоставляет свойства IsStatic
, IsPrivate
, .... Похоже, что эти свойства определены только в ConstructorInfo
, FieldInfo
, MethodInfo
, но отсутствуют в (базовых) MemberInfo
, PropertyInfo
и EventInfo
.
Что-то мне не хватает? Как следует фильтровать MemberInfo
и PropertyInfo