PG日誌

受託系 PG が C# の事を書いています

ArgumentNullException の文字列リテラルをやめる

自分で null チェックしたときに投げる標準の例外で ArgumentNullException があるけどパラメータ名を指定した方が後々自分が助かります。

ArgumentNullException(string)

ただ何も考えないで

throw new ArgumentNullException("hogehoge");

とするとメソッドの仮引数の名前が変わるたびに「手動で」この部分も書き換えないといけません。が、面倒だし放置されることが多いですね。そしてトラブルになって「?」になります。

が、以下のように書くとその煩わしさから解放されます。

throw new ArgumentNullException(MethodBase.GetCurrentMethod().GetParameters()[0].Name);

流石にパラメータの順序が変わったら数字を変える必要があります。