假设以下代码:
public class CC3
{
private string _field;
private bool _someFlag;
public string Property
{
get { return _field; }
}
public bool SomeFlag
{
get { return _someFlag; }
}
public void SetField()
{
_field = " foo ";
_someFlag = true;
}
public string Method()
{
Contract.Requires(SomeFlag);
return Property.Trim();
}
}
Code Contracts 的静态检查器抱怨以下return
声明Method
:
可能在空引用“this.Property”上调用方法
我必须做什么才能使静态检查器证明Property
永远不可能null
if SomeFlag
is true
?