Из документов , BindingFlags.Default
:
Указывает, что флаги привязки не определены.
Необходимо указать FindMembers
именно то, что вы хотите, например, если вы хотите, чтобы открытые члены были статическими или экземплярами:
var flags = BindingFlags.Public | BindingFlags.Static | BindingFlags.Instance;
List<MemberInfo> members = type.FindMembers(MemberTypes.All, flags, Filter, null).ToList();
В качестве отступления, вы можете добавить ограничение общего типа в функцию GetMember
, чтобы ограничитьтип атрибута:
public List<MemberInfo> GetMember<TClass, TAttribute>()
where TAttribute : Attribute