【发布时间】:2011-07-05 07:41:01
【问题描述】:
我持有枚举类型的结构化只读数据,现在我想扩展结构并为枚举中的每个值添加额外的字段。所以,我原来的枚举是:
public enum OutputFormats { Pdf, Jpg, Png, Tiff, Ps };
我想像这样扩展它们:
Value=Pdf
FileName="*.PDF"
ID=1
Value=Jpg
FileName="*.jpg"
ID=2
...等等。
枚举不能保存多维数据结构,那么通常认为保存此类结构化数据的最佳“位置”是什么?我应该创建一个具有value、filename 和id 属性的类并在类构造函数中初始化数据吗?
【问题讨论】:
-
是的,这种事情一般都是使用类来完成的。除非您要求实例具有值类型语义,否则使用结构没有特别的优势。
-
这似乎太模糊了。当然,类或结构可以工作,如果除了只读数据之外没有任何约束/要求,那么任何一个都可以。