引数に列挙体(enum)を取る場合の注意点

引数にDayOfWeek列挙体を取るメソッドvoid HogeMethod(DayOfWeek)があったとします。
下記のように数値をDayOfWeek列挙体にキャストして呼び出すこともできます。

HogeMethod((DayOfWeek)100);


もし、引数にDayOfWeekに定義されていない値をセットされた場合、予期しない動作をしてしまいます。
HogeMethodはそれを考慮した実装を行う必要があります。
こんな感じで。

void HogeMethod(DayOfWeek dow)
{
	if(!Enum.IsDefined(typeof(DayOfWeek), dow))
	{
		throw new ArgumentException("dow")
	}
	
	// 処理
}


サボらず書きましょう。自分も含めて。。。。