Я создал атрибут, который принимает массив (params) в своем конструкторе.
internal class MyTestAttribute : Attribute
{
public MyTestAttribute (params Options[] options)
{
....
}
}
Вариант
здесь представляет собой перечисление (с большим количеством значений), поэтому пример сайта для звонков будет
[MyTest(Option.One, Option.Three)]
internal void SomeMethod(int param1, long param2)
{
....
}
Пока все безупречно, и настройка работает, но я получаю сообщение " Arrays поскольку аргументы атрибута не соответствуют требованиям CLS "предупреждение на каждом сайте вызова. Теперь я должен признать, что мне не нужно использовать эту сборку где-либо еще, кроме C #, и я не делаю предупреждения как ошибки, но сотни предупреждений становятся раздражающими.
Очевидное решение - отключить совместимость с CLS, но в настоящий момент я не могу этого сделать.
Есть ли другой подход к созданию атрибута, который по-прежнему будет делать то же самое, но избавится от предупреждений?