代码合约 + 沙堡 -- 自定义异常部分的任何方法

本文关键字:任何 方法 自定义异常部 沙堡 代码 | 更新日期: 2023-09-27 18:17:39

  • 我正在使用代码协定版本:1.4.40602.0
  • 我复制了必要的内容和转换文件
  • 沙堡根据我的合同要求输出异常

示例代码:

public class MyClass
{
    public MyClass(Object obj)
    {
        Contract.Requires<ArgumentNullException>(obj != null);
    }
}

结果输出(在我的文档中(:

| Exception                       | Condition                       |
|---------------------------------|---------------------------------|
| System.ArgumentNullException    | obj == null                     |

这还不错,但是我想知道是否有办法自定义条件的文本?我试图添加一个用户消息Contract.Requires<ArgumentNullException>(obj != null, "obj is null.");,但这并没有解决任何问题。

过去,我不得不为异常编写自己的 xml 文档部分。我是否必须再次这样做才能获得我需要的东西?


免责声明:由于代码合同(目前(是一个 DevLabs 项目,这可能会改变,但我想知道它现在是否已经可用......如果没有,我一定会建议它。

代码合约 + 沙堡 -- 自定义异常部分的任何方法

对于代码协定 1.4.51019.0,您可以使用重载:

Requires<TException>(bool condition, string userMessage)

但是,您的消息将在"前提条件失败"之后附加,后跟不匹配的条件。如果 Sandcastle 无法识别它,我相信这不是代码契约中的错误,因为该消息对我来说是正确的。

相关文章: