【发布时间】:2014-03-24 09:19:34
【问题描述】:
我想知道是否可以在代码中用 C# 创建一条规则,以防止“编译”并打印我选择的错误消息。例如:
假设:
- 我有一个将字节向量作为参数的方法。
- 在该方法中,我检查了这个字节向量的长度。
- 如果它太长,太短等我想阻止程序 编译并在错误列表中打印错误消息。
我知道我可以使用断言之类的东西,但这适用于已经编译的代码。
【问题讨论】:
-
不,你不能,因为它是运行时检查(你在编译时不知道数组大小,数组大小可能/将根据运行时条件改变)所以你可以做的是抛出一个运行时异常(或使用断言)。代码合同(和静态分析)可能会帮助您处理类似的事情,但在这种情况下不会。 IMO 最好的办法是单元测试,它将检查静态类型/检查无法处理的运行时行为。
标签: c# c-preprocessor