メソッド (またはメソッド チェーン) を呼び出す際に null オブジェクトを処理するための最良のオプションを探しています。
if 条件でチェックするのが私たちの一般的な方法です:
if ( customObject != null ) {
customObject.callMe();
}
これは、拡張メソッドを使用してさらに改善できます。
Program customObject = null;
if (customObject.NotNull()) {
customObject.CallMe();
}
public static bool NotNull(this object o) {
return o == null;
}
注意してください:私は通常無視します!私のプログラミングの練習から。したがって、私にとっては拡張メソッドが適していると言うのが賢明です。
ただし、メソッドチェーンが絡むと非常に扱いが複雑になります。
customObject.CallMe().CallMe2() ex...
がnullでない場合にのみ呼び出され、 null以外のオブジェクトを返す場合にのみCallMe
呼び出されるように、C#で処理できるとどのように考えていますか。customObject
CallMe2
CallMe
もちろんIf条件や三項演算子も使えます。ただし、vNext、C#5.0 で提供できるものがあるかどうかを知りたいです。