无法在运行时访问SuppressMessage属性

时间:2013-11-25 17:14:41

标签: c# reflection attributes suppressmessage

我正在尝试创建一个单元测试,只有在不抑制相应消息的类型上才会失败。但是,我无法在单元测试中访问任何类型的SuppressMessage属性。是否可以在运行时访问SuppressMessage属性?我已经包含了单元测试的简化版本。

[System.Diagnostics.CodeAnalysis.SuppressMessage("Foo", "Bar")]
public interface IMyInterface { }

public void UnitTest()
{
    var getCustomAttributes = typeof(IMyInterface).GetCustomAttributes();   //Returns an empty array
    //Skip check if message should be suppressed
}

1 个答案:

答案 0 :(得分:1)

使用条件符号CODE_ANALYSIS构建程序集(其中定义了IMyInterface)

[Conditional("CODE_ANALYSIS")]
[AttributeUsage(AttributeTargets.All, Inherited = false, AllowMultiple = true)]
public sealed class SuppressMessageAttribute : Attribute {