Я создал атрибут, который принимает массив (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-совместимость, но на данный момент я не могу этого сделать.
Есть ли какой-то другой подход к созданию атрибута, который все равно будет делать то же самое, но избавится от предупреждений?