c# – “契约不能在试块中”是什么意思?

前端之家收集整理的这篇文章主要介绍了c# – “契约不能在试块中”是什么意思?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用3.5库来进行微软代码合同 @H_403_2@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.

因此,只需将Ensures调用放在方法的顶部,就不会出现任何问题.

猜你在找的C#相关文章