私はパラメータとして別の4つのメソッド呼び出しの結果を取ります。ただし、これらの呼び出しを行うメソッドはnullでもかまいません(判読不能な文であれば申し訳ありません)。基本的にはC#でヌルオブジェクトを特定する
public void Inform(Room north, Room south, Room east, Room west)
{
this.north = north;
this.south = south;
this.east = east;
this.west = west;
node.Inform(north.GetNode(), south.GetNode(),
east.GetNode(), west.GetNode());
}
、私はオブジェクトがnullで、単純にconditionals--以外にも方法にnullを渡すかどうかを確認するために迅速かつ簡単な方法があるかどうかを知りたい:それは明確に物事を行う場合ここでのコードは、です私はむしろnull/not nullの16の可能なすべてのバリエーションを明示的にコード化する必要はありません。
EDIT:混乱に応答して、私はこれを明確にしたいと思います:ほとんどの場合、メソッドに渡すオブジェクトはnullになりません。通常、北、南、東、西についてはRoom
オブジェクトが存在し、Room
が存在する場合、GetNode()メソッドは適切なオブジェクトを返します。メソッドの呼び出しを試みたときにnull参照を避けるために、与えられたRoom
が存在するかどうかを調べたいと思います。
を作成します。オブジェクトが 'null'で、' null'を渡したいのであれば...なぜオブジェクトを渡すだけではないのですか? 'null'値が通過します。おそらく、想定している16種類のコードの短いサンプルを投稿することができます。その結果、あなたが望む結果を正確に見ることができますか? – Domenic
これは別のSOの質問の欺瞞だが、私はそれを見つけることができません。 'node.Inform(north == null?null:north.GetNode()、...);' –
これは正しいものではありませんが、これに似ています。http ://stackoverflow.com/questions/550374/checking-for-null-before-tostring –