私は実際に簡単にデバッグできる再利用可能なコードのベストプラクティスを理解しようとしています。私はまだよく理解していない開発者の間で共通の練習をしてきました。コンストラクタのNullのチェック
public MyConstructor(Object myObject)
{
if (myObject == null)
throw new ArgumentNullException("myObject is null.");
_myObject = myObject;
}
ほとんどの場合、このチェックは不要です。しかし、私はそれがこのチェックを行う利点が何であるか完全に理解していないからだと思う。とにかくnull参照例外がスローされるようだ?私はおそらく間違っている、本当にそれについてのいくつかの考えを聞きたい。
ありがとうございます。
あなたがやっていることは必須ではありません。オブジェクトを参照する前に、nullではないことを確認することができます。もちろん、オブジェクトが初期化されたときに使用するものを検証することは、非常に有効なアプローチです。 –
@Ramhound - これは、StructureMapなどのDIフレームワークを使用する場合、コンストラクタに渡される内容を直接制御する必要がない場合の一般的なアプローチです。あなたのクラスが 'myObject'なしで無駄であり、これを初期化する唯一の場所であれば、できるだけ早く例外をスローしてそれらについて知ることができます。長時間実行されているWebアプリケーションでは、誰かがオブジェクトを必要とするメソッドを呼び出すまで、問題についてはわからないことがあります。 –