0
点赞
收藏
分享

微信扫一扫

.net C#代码契约Contract.Require Contract.Equal等为什么不生效?


C#中为什么代码契约不生效?很令人迷惑。

1. 表现令人迷惑

如下图1,第23行仿佛就不存在似的。

.net C#代码契约Contract.Require Contract.Equal等为什么不生效?_Contract无效

2. 为什么呢

追踪一下Require的源码,能看到下图所示

.net C#代码契约Contract.Require Contract.Equal等为什么不生效?_代码契约不生效_02

3. 宏定义

在文件中定义变量,则生效。

.net C#代码契约Contract.Require Contract.Equal等为什么不生效?_Contract无效_03

4. 为证明,上个结果图

.net C#代码契约Contract.Require Contract.Equal等为什么不生效?_C# Contract无效_04

附,如下链接,可能有点用。

​​https://docs.microsoft.com/en-us/dotnet/framework/debug-trace-profile/code-contracts​​


举报

相关推荐

0 条评论