これがあなたの質問に答えるかどうかはわかりませんが、それはこの問題に関する私の意見です。私は列挙型が好きです。主な理由は、プログラマーである私にとって便利だからです。これは、コードを書いているときに、定数値に対して enum を使用すると、入力時にオートコンプリートされるだけでなく、有効な列挙値のみを指定できることを確認するコンパイル時のエラー チェックも行われるためです。ただし、あなたが言うように、コンパイル時に定義された定数があるため、列挙型は実行時に定義された値に対しては機能しません。
通常、例のように SQL テーブルからロードされる柔軟な値を使用する場合は、文字列値のみを使用します。したがって、Sales
とSalesOldType
をテーブルに格納し、それらを の値として使用しますFileType
。私は通常、整数ではなく文字列を使用します。これは、何かをデバッグしているときにデータ テーブルを見ている場合、文字列は人間が読める形式だからです。
ここで、少しハイブリッドを実行して、値を格納してテーブルから取得できるようにすることができますが、一般的に使用される値をコード内の定数として定義すると、次のようになります。
Public Class FileTypeConstants
public const Sales = "Sales"
public const SalesOldType = "SalesOldType"
End Class
こうすることで、共通の値でコーディングするときに、1 つの場所での小さな文字列のタイプミスがプログラムにバグを引き起こさないようにすることができます。
また、補足として、私はクリック 1 回の展開を介して社内に展開されるアプリケーションのコードを作成します。アップデート。したがって、データベース値と enum の使用の問題は、ユーザーへの更新をいかに簡単に入手できるかの 1 つになる可能性があります。めったに更新しない場合は、データベースの値がおそらく最適です。頻繁に更新し、更新がユーザーによって行われていない場合は、列挙型も同様に機能します。
それがあなたに役立つことを願っています!