是否有代码合同的替代方法来声明编码假设?

时间:2015-08-25 21:07:09

标签: c# code-contracts

我使用代码合约。我喜欢Code Contracts。然而,对于C#来说,Code Contracts远非完美。与他们相关的大多数问题我都能够通过政策来调整或软化。仍然......它的一些部分让我感到畏缩(例如,必须为抽象实现ContractClasses)。

我找到的唯一真正的替代方案是开源库,它不比CC好,并且使用常规防护(可能违反LSP)。

我错过了另一个更好的选择吗?我不是出于绝望,而是为了了解我的所有选择。

1 个答案:

答案 0 :(得分:3)

我不知道您目前有任何其他选择。

但是,有a discussion on the Roslyn repository on GitHub关于在C#中为代码契约提供语言级支持。该问题被视为某些兴趣(虽然不是强烈兴趣)包含在the feature set of C# 7中。

关于LSP的主题,在该特定讨论中没有提及它。例如,没有提到在专门化虚拟方法时加强后置条件和削弱前提条件的可能性。