Я держу только структурированные данные только для чтения в перечисляемом типе, теперь я хотел бы расширить структуру и для каждого значения в enum добавить дополнительные поля. Таким образом, мое первоначальное перечисление:Какое лучшее «место» для хранения структурированных данных только для чтения?
public enum OutputFormats { Pdf, Jpg, Png, Tiff, Ps };
, и я хочу, чтобы расширить их так:
Value=Pdf
FileName="*.PDF"
ID=1
Value=Jpg
FileName="*.jpg"
ID=2
... и так далее.
Перечисление не может содержать многомерную структуру данных, так что, как правило, считается лучшим «местом» для хранения таких структурированных данных? Должен ли я создать класс с value
, filename
и id
свойствами и инициализировать данные в конструкторе класса?
Да, этот тип вещей обычно делается с использованием класса. Нет особого преимущества в использовании структуры, если вы не требуете, чтобы экземпляры имели семантику типа значения. –
Это кажется слишком расплывчатым. Конечно, класс или структура будут работать, и если у вас нет каких-либо ограничений/требований, отличных от данных, предназначенных только для чтения, то это нормально. –