有没有办法指示 C# 忽略NullReferenceException
一组语句(或任何特定的例外)。这在尝试从可能包含许多空对象的反序列化对象中读取属性时很有用。有一个辅助方法来检查 null 可能是一种方法,但我在语句块级别寻找接近“On Error Resume Next”(来自 VB)的东西。
编辑:Try-Catch 将跳过有关异常的后续语句
try
{
stmt 1;// NullReferenceException here, will jump to catch - skipping stmt2 and stmt 3
stmt 2;
stmt 3;
}
catch (NullReferenceException) { }
例如:我正在将 XML 消息反序列化为对象,然后尝试访问类似的属性
Message.instance[0].prop1.prop2.ID
现在 prop2 可能是一个空对象(因为它在 XML 消息中不存在 - XSD 中的一个可选元素)。现在我需要在访问叶元素之前检查层次结构中每个元素的 null 。即,在访问“ID”之前,我必须检查 instance[0]、prop1、prop2 是否不为空。
有没有更好的方法可以避免对层次结构中的每个元素进行空检查?