访问可能为null的对象属性的最佳方法是什么?

时间:2018-02-19 16:12:32

标签: .net vb.net

我想知道是否有一种简单而干净的方法,比如一种类型的方法,访问某个对象的对象属性,即使这个属性可能为null,也就是说,这可能会抛出一个空指针例外,和, 如果它是null,那么做一些其他事情。

例如,我有我的汽车对象。它有两个属性,Window和Door。,每一个,它是一个Object属性。

Dim WCar = new Car with {.Door = new Door with {.Color = black}}

new Mgbox(WCar.Door.ToString & _
      WCar.Window.ToString) -> This may throw a null pointer exception.

(我不拥有实体本身的类,要么知道它是否在实体的构造函数中安全编码)

2 个答案:

答案 0 :(得分:2)

您可以使用null-conditional operator

WCar.Window?.ToString()

如果WindowNothing,则不会再提出NullReferenceException,但ToString将返回Nothing。如果WCar也可能是Nothing

WCar?.Window?.ToString()

答案 1 :(得分:1)

也许您可以尝试继承该类并创建自己的setter和getter并验证该属性是否为null