反射 - 按名称访问自定义属性

时间:2013-08-12 22:06:36

标签: c# reflection

我正在尝试查看给定方法是否使用属性修饰(所讨论的属性为NUnit.Framework.TestAttribute)但我需要能够检查属性,而不管属性是什么版本。目前,我在使用反射的项目中有nunit.framework.dll版本2.6.2,在测试中有版本2.6.0的dll。反射没有找到属性。

有没有办法

bool isTest = method.GetCustomAttributes(typeof(TestAttribute), true).Length > 0;

无法访问TestAttribute dll的正确版本?

其中method的类型为MethodInfo

1 个答案:

答案 0 :(得分:4)

您可以获取所有属性并按名称过滤:

method.GetCustomAttributes(true)
      .Where(a => a.GetType().FullName == "NUnit.Framework.TestAttribute");