.NET Core:代码契约方法暂时关闭了吗?

.NET Core: Code Contracts approach is closed for now?

几年前有很多关于Code Contracts的资料。没时间学,现在才发现:)

但是当我尝试使用它时,我看到 Visual Studio 2017 不支持它,CC 工具最后一次更新是 3 年多以前了...

那么,Code Contracts 暂时关闭了?

遗憾的是,不再支持代码合同。

好消息是 C#8 将包含一个新的 nullable reference types 特性,该特性将处理大部分不变量以及前置条件和 post 条件,代码契约是针对这些条件的用过的。这将有助于检测和避免可能的空引用异常。

坏消息是没有对其他类型合约的内置支持,未来也没有宣布类似的东西。

正确性保证必须来自第三方工具,否则必须使用其他语言(例如,Ada Spark)。