PropertyInfo
, MethodBase
и т. Д. У каждого есть свойство Attributes
, которое содержит эту информацию - но в MemberInfo
ничего нет, потому что каждый тип члена имеет свой собственный тип перечисления атрибутов. Отвратительно, я думаю, вам может необходимо обработать каждый подкласс MemberInfo
отдельно :( Возможно, вы можете включить MemberInfo.MemberType
и затем выполнить приведение, которое будет немного лучше, чем множество ветвей as
/ test-for-null, но все равно не идеально: (
if (member.MemberType == MemberTypes.Property)
{
var property = (PropertyInfo) member;
...
}