验证应用程序块和.NET 4.0代码契约
-
20-09-2019 - |
题
有没有人来实现企业库VAB沿wtih代码契约在.NET 4.0中?
如果是这样,你能分享一些见解?难道它在性能方面提供帮助?要考虑的其他因素?
解决方案
这两个框架具有不同的范围,这样他们可以很容易地在同一项目中使用。但是,你必须阻止你的域实体使用代码契约。执行此操作时,所有呼叫者必须确保他们不设置无效值(当你这样做会产生一个编译时错误)。但是随着应用的验证模块,您的实体必须被允许有一个(暂时)无效状态。否则VAB不能永远检测无效对象。
让我把它,否则,代码契约是为了防止编程错误,而不是用户的错误,并让编译这段时间的支持。 VAB防止用户错误,而不是编程错误*和给出了这种运行时支持。
*好吧,VAB也可用于编程错误(事实上,我不使用它自己以这种方式),但主要的场景是用户输入IMO。
不隶属于 StackOverflow