我试图列出具有给定属性的所有成员,我实现了一个使用 FindMembers 的方法,但它总是返回一个空集合。谁能告诉我我做错了什么?
public List<MemberInfo> GetMembers<TClass, TAttribute>()
{
Type type = typeof(TClass);
Type attributeType = typeof(TAttribute);
List<MemberInfo> members = type.FindMembers(MemberTypes.All, BindingFlags.Default, Filter, null).ToList();
return members;
}
public bool Filter(MemberInfo memberInfo, object filterCriteria)
{
return memberInfo.IsDefined(typeof(TestAttribute));
}
[Test]
public string MethodName()
{
return "test";
}
当我这样打电话时:
List<MemberInfo> members = GetMembers<TestClass, TestAttribute>();
它返回空。