一連のステートメントを無視するように C# を指示する方法はありますかNullReferenceException
(またはその特定の例外)。これは、多くの null オブジェクトを含む可能性のある逆シリアル化されたオブジェクトからプロパティを読み取ろうとするときに役立ちます。null をチェックするヘルパー メソッドを持つことは 1 つの方法かもしれませんが、ステートメント レベルのブロックで (VB からの)「On Error Resume Next」に近いものを探しています。
編集: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 は null オブジェクトである可能性があります (XSD のオプション要素である XML メッセージに存在しないため)。現在、リーフ要素にアクセスする前に、階層内の各要素の null をチェックする必要があります。つまり、「ID」にアクセスする前に、instance[0]、prop1、prop2 が null でないかどうかを確認する必要があります。
階層内の各要素の null チェックを回避するより良い方法はありますか?