C# 具有属性的方法的BindingFlags

C# 具有属性的方法的BindingFlags,c#,metadata,bindingflags,C#,Metadata,Bindingflags,是否可以对具有属性的方法使用BindingFlags?我确实在BindingFlags上查看了msdn,但没有显示任何内容。 下面是我的一个方法的样子: [TestMethod() ,TestCategory("ActionCol") ,TestCategory("DataDriven") ,DataSource("Microsoft.VisualStudio.TestTools.DataSource.CSV", @"|DataDirectory|\ActionCol\actionCol.csv

是否可以对具有属性的方法使用
BindingFlags
?我确实在
BindingFlags
上查看了msdn,但没有显示任何内容。 下面是我的一个方法的样子:

[TestMethod()
,TestCategory("ActionCol")
,TestCategory("DataDriven")
,DataSource("Microsoft.VisualStudio.TestTools.DataSource.CSV", @"|DataDirectory|\ActionCol\actionCol.csv", "actionCol#csv", DataAccessMethod.Sequential)
,DeploymentItem(@"..\ActionCol\actionCol.csv")]
public void ActionCol_Insert_LeftGrid(){}
我正在使用反射向列表框添加我所有的void方法,但我只想添加具有此属性的方法

这就是我如何使用BindingFlags的方法:

methArr = e.myType.GetMethods(BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly);

其中,
methArr
是一个
MethodInfo
-实例

在这种情况下不使用绑定标志

相反,您必须做的是枚举给定类型的方法,并计算方法是否用特定属性修饰

下面的代码将找到使用Linq使用
TestMethod
属性修饰的
myType
的所有方法:

var methArr =
    e.myType.GetMethods(BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly)
        .Where(method => method.GetCustomAttributes(typeof (TestMethodAttribute), false).Any());

当您只想检查特定属性的使用情况时,为什么坚持在这里使用
BindingFlags