Я хочу сохранить дополнительную информацию в моих Enum
значениях и поэтому придумала Атрибуты.Поскольку я хочу, чтобы одно свойство содержало 1..n strings
, я попытался заставить конструктор атрибута принять переменный параметр.Например:
[AttributeUsage(AttributeTargets.Enum, AllowMultiple = false, Inherited = false)]
public class FileTypeAttribute : Attribute
{
public readonly string[] Extensions;
FileTypeAttribute(params string[] extensions)
{
this.Extensions = extensions;
}
}
Моя проблема в том, что, когда я сейчас пытаюсь использовать свое свойство, мой компилятор жалуется и выдает следующее сообщение об ошибке, которое я действительно не понимаю:
Дает мне:
'FileTypeAttribute' does not contain a constructor that takes '1' arguments
и 'FileTypeAttribute' does not contain a constructor that takes '2' arguments
Может кто-нибудь сказать мне, пожалуйста, почему это происходит?
Насколько я помню, на самом деле нет возможности сделать перечисления немного более "java'ish".Но если мне не хватает альтернативы, я был бы рад услышать об этом.