.net C#程式碼契約Contract.Require Contract.Equal等為什麼不生效?

harry2016發表於2020-12-28

C#中為什麼程式碼契約不生效?很令人迷惑。

1. 表現令人迷惑

如下圖1,第23行彷彿就不存在似的。
在這裡插入圖片描述

2. 為什麼呢

追蹤一下Require的原始碼,能看到下圖所示
在這裡插入圖片描述

3. 巨集定義

在檔案中定義變數,則生效。
在這裡插入圖片描述

4. 為證明,上個結果圖

在這裡插入圖片描述


附,如下連結,可能有點用。

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

相關文章