如果我有基本母版页和内容页面,并且我想从内容页面使用母版页的某些属性或方法,例如:
string something = this.Master.MasterPageFile;
代码合同静态分析会抱怨:
warning : CodeContracts: Possibly calling a method on a null reference 'this.Master'
如果我想访问母版页,如何让代码合约停止投诉?
R上。
[编辑]
看看这个?
public partial class Manage : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
this.Master.ShowFeedback("Test.", true);
}
[ContractInvariantMethod]
private void ObjectInvariants()
{
Contract.Invariant(this.Master != null);
}
}
每次我想调用Showfeedback()时,我都不想做以下事情:
Contract.Assume(this.Master != null)
this.Master.ShowFeedback("Test.", true);
这有意义吗?
答案 0 :(得分:0)
您可以将其添加为您班级的不变量:
[ContractInvariantMethod]
private void Invariants()
{
Contract.Invariant(Master != null);
}