我正在使用3.5库来进行微软代码合同
public object RetrieveById(int Id) { //stuff happens... Contract.Ensures(newObject != null,"object must not be null"); return newProject; //No error message if I move the Contract.Ensures to here //But it isn't asserting/throwing a contract exception here either }
我收到编译器消息:
“方法’Controller.RetrieveById(System.Int32)’中的try块中的错误18合同部分
更新:
我在你的帮助下想出来了:
>转到顶部
>检查Contract.Result
Contract.Ensures(Contract.Result()!= null,“object不能为null”);
解决方法
我可能会遗漏一些东西,但我只是看了一下这个文档:
http://msdn.microsoft.com/en-us/library/dd412865.aspx
它说:
This method call must be at the
beginning of a method or property,
before any other code.