引数に列挙体(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") } // 処理 }
サボらず書きましょう。自分も含めて。。。。