次のような列挙型プロパティを持つクラスがあります。
public class Foo
{
public Color ColorType {get;set;}
}
public enum Color
{
Red,
Green,
}
これで、このクラスは次のように初期化できます。
var foo = new Foo();
ColorType プロパティが設定されていない場合。今、メソッドを作成し、その列挙型が設定されているかどうかに関係なくアクションを実行しようとしています。たとえば、メソッドがあります
private void checkEnum(Foo foo)
{
if(foo.ColorType !=null)
{
//perform these actions
}else
{
//perform those actions
}
}
ただし、値がnullになることは決してないという警告が表示され、さらに調査したところ、列挙型が設定されていない場合、デフォルトで最初の値が赤になる場合、列挙型に値を追加することを考えていました。 「設定されていません」で、その値を最初の値にします。設定されていない場合、列挙型の値は「設定されていません」になります。これを行うためのより良い方法はありますか?