在我的umbraco网站上,我得到了这样的代码
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
答案 0 :(得分:3)
当Trim()
方法为空时调用p.Value
方法会抛出错误。在您的代码中,这是在string.IsNullOrEmpty
执行检查之前发生的。
将表达式修改为以下内容应该修复它。
<强>代码:强>
var p = currentNode.GetProperty("ucc") as Property;
if (p != null && !string.IsNullOrWhiteSpace(p.Value))
mailCC = p.Value
<强>参考:强>
String.IsNullOrWhiteSpace:指示指定的字符串是空,空还是仅包含空格字符。
答案 1 :(得分:0)
+1给Goran Mottram指出原因并给出正确的建议。在进行任何方法调用之前,应始终检查null。