【发布时间】:2010-09-13 14:55:00
【问题描述】:
例如,如果我想调用以下代码:
person.Head.Nose.Sniff()
那么,如果我想安全,我必须做到以下几点:
if(person != null)
if(person.Head != null)
if(person.Head.Nose != null)
person.Head.Nose.Sniff();
有没有更简单的方法来表达这个表达式?
【问题讨论】:
-
不是每个
Person都有一个Head并且每个Head都有一个Nose吗? -
世界上仍有地方实行斩首……
-
...在这种情况下,
Person将变为Corpse。 -
..或者只是让它的
IsCorpse属性变为真 -
你也可以使用 Null Object Pattern ...这将要求每个人都有一个 Head,即使它不是他们自己的。
标签: c# null reference-type