代码合约 + 沙堡 -- 自定义异常部分的任何方法
本文关键字:任何 方法 自定义异常部 沙堡 代码 | 更新日期: 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 无法识别它,我相信这不是代码契约中的错误,因为该消息对我来说是正确的。