假设我有三个类A,B和C,它们嵌套的方式使我可以通过A访问C到B(即A.B.C)。如果我试图访问C的一个简单属性,比如说Id类型int,并且我没有在A中创建B的新实例(或B中的C),我会得到一个'Object reference not set to an instance of一个东西。'错误。未将对象引用设置为对象的实例。 - DefaultValue
我想知道的是,如果有一种简单的方式说让我A.B.C.Id,并且如果你不能在某种程度上产生一个空值,那么给我一个默认值。
var myId = A.B.C.Id <some operator> -1;
目前我正在做这样的事情,它感觉很糟糕。
var myId = A == null ? -1 : A.B == null ? -1 : A.B.C == null ? -1 : A.B.C.Id;
为什么downwote? – TcKs 2009-08-11 14:37:50
我接受这个作为我的问题的答案,因为事实上TcK已经尽最大努力为我的情况提供解决方案。我在一个理想的世界里感知,我会重构并摆脱这种情况,但不幸我不在那里工作:)。 – voiddog 2009-08-14 09:20:35