構造化された読み取り専用データを列挙型で保持していますが、構造体を拡張し、列挙型のすべての値に対して追加フィールドを追加したいと考えています。読み取り専用の構造化データを保持するのに最適な「場所」は何ですか?
public enum OutputFormats { Pdf, Jpg, Png, Tiff, Ps };
と私はそうのようにそれらを拡張したい::だから、私のオリジナルenumがあるように
Value=Pdf
FileName="*.PDF"
ID=1
Value=Jpg
FileName="*.jpg"
ID=2
...と。
列挙型は多次元データ構造を保持することはできません。そのような構造化されたデータを保持するのに最も良い「場所」とは何が一般的に考えられますか? value
、filename
、およびid
プロパティを持つクラスを作成し、クラスコンストラクタでデータを初期化する必要がありますか?
はい、このタイプのことは、通常、クラスを使用して行われます。インスタンスに値型のセマンティクスを持たせる必要がある場合を除き、構造体を使用するメリットはありません。 –
これはあまりにも曖昧です。確かに、クラスや構造体が機能しますが、読み取り専用のデータ以外の制約や要件がない場合はどちらも問題ありません。 –