C# リファクタリング コレクションを返すメソッド
なんらかの処理を行ってコレクションを返すようなメソッドがあったとして、
こんな具合にパラメータがnullだったら例外を投げ返すんだったら
public IEnumerable<object> Hoge(object obj) { if (obj == null) throw new ArgumentNullException("obj"); // なにか処理してコレクションを返す。 }
こんな具合に空の配列を返してやる。
public IEnumerable<object> Hoge(object obj) { if (obj == null) new object[] { }; // なにか処理してコレクションを返す。 }
メソッドの目的にもよるのだろうけど、
例えば検索処理とかだと変なパラメータを渡したら例外を投げずに空の結果を返してやれば良い。
書いてみて思ったけど、おかしなことをやっているならやっぱり例外を投げて気づく機会を設けるべきなんだろうか・・・