我想知道是否有一种简单而干净的方法,比如一种类型的方法,访问某个对象的对象属性,即使这个属性可能为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.
(我不拥有实体本身的类,要么知道它是否在实体的构造函数中安全编码)
答案 0 :(得分:2)
您可以使用null-conditional operator:
WCar.Window?.ToString()
如果Window
为Nothing
,则不会再提出NullReferenceException
,但ToString
将返回Nothing
。如果WCar
也可能是Nothing
:
WCar?.Window?.ToString()
答案 1 :(得分:1)
也许您可以尝试继承该类并创建自己的setter和getter并验证该属性是否为null