我正在尝试创建一个单元测试,该单元测试将仅对不抑制相应消息的类型失败。但是,我无法在单元测试中访问任何类型的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
}
最佳答案
使用条件符号CODE_ANALYSIS构建您的程序集(定义了IMyInterface的程序集)
[Conditional("CODE_ANALYSIS")]
[AttributeUsage(AttributeTargets.All, Inherited = false, AllowMultiple = true)]
public sealed class SuppressMessageAttribute : Attribute {
关于c# - 在运行时无法访问SuppressMessage属性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20199119/