我创建了一个在其构造函数中接受 (params) 数组的属性。
internal class MyTestAttribute : Attribute
{
public MyTestAttribute (params Options[] options)
{
....
}
}
Option
这是一个枚举(有很多值),所以一个示例调用站点将是
[MyTest(Option.One, Option.Three)]
internal void SomeMethod(int param1, long param2)
{
....
}
到目前为止一切都很好,并且设置工作正常,但是我在每个调用站点上都收到“数组作为属性参数不符合 CLS ”警告。现在,我不得不承认,我不需要从 C# 以外的任何地方使用这个程序集,也不需要将警告作为错误,但是数百个警告越来越烦人。
显而易见的解决方案是关闭 CLS 合规性,但目前我不能这样做。
是否有其他方法来创建仍然可以执行相同操作但摆脱警告的属性?