私は以下のように定義されたクラスを持っています:
public class Category
{
public int Id {get; set;}
public string Name {get; set;}
//... additional properties ...
}
私のデータベースには約10のカテゴリがあり、セットが将来変更される可能性はほとんどありません(ただし、新しいカテゴリが散発的に追加される可能性はあります)。各カテゴリには、いくつかのフィールドが関連付けられています。
ほとんどの場合、他のクラスにはカテゴリの。のみが入力されますId
。特定のカテゴリに基づいてさまざまなアクションを実行する必要があります。
例えば:
if (categoryId == 1)
{
//do something
}
else
{
//do something else
}
これを行うときは、ハードコードされた値を避けたいと思っています。
私は通常、この目的で列挙型を使用しますが、この場合、列挙型のクラスがすでにあるため、列挙型を構造化する方法がわかりません。1つのアイデアは、と呼ばれる別の列挙型を作成することですCategoryEnum
が、これは臭いようです。もう1つのオプションは、クラス定数を使用することです。
Id
カテゴリを特定の定数値と比較する最も明確な方法は何ですか?