2

私のumbracoWebサイトで、次のようなコードを取得しました

 var  p = currentNode.GetProperty("ucc") as Property;
 if (p != null && !string.IsNullOrEmpty(p.Value.Trim()))
 mailCC = p.Value;

しかし、それは常にこのようなエラーをスローします

Value = 'p.Value' threw an exception of type 'System.NullReferenceException'

注:P.Valueは注Nullであると確信しています ここに画像の説明を入力してください

4

2 に答える 2

3

Trim()null のときにメソッドを呼び出すとp.Value、エラーがスローされます。あなたのコードでは、これは getstring.IsNullOrEmptyがチェックを実行する前に発生しています。

式を次のように変更すると修正されます。

コード:

var p = currentNode.GetProperty("ucc") as Property;
if (p != null && !string.IsNullOrWhiteSpace(p.Value))
    mailCC = p.Value

参照:

String.IsNullOrWhiteSpace : 指定された文字列が null、空、または空白文字のみで構成されているかどうかを示します。

于 2013-03-11T15:02:23.643 に答える
0

理由を指摘し、正しい提案をしてくれた Goran Mottram に +1。メソッド呼び出しを行う前に、常に null をチェックする必要があります。

于 2013-03-11T15:22:39.237 に答える