<分区>
我正在经历一个关于 SO 的问题,这个问题是关于 new features of c# 4.0 的和 jon skeet 的回答有 C# 4.0 的代码契约(Contract)功能。但我真的不明白什么时候使用它们。任何建议......
<分区>
我正在经历一个关于 SO 的问题,这个问题是关于 new features of c# 4.0 的和 jon skeet 的回答有 C# 4.0 的代码契约(Contract)功能。但我真的不明白什么时候使用它们。任何建议......
最佳答案
只要有可能。例如,在方法的开头使用保护子句的任何地方,如
public void Write(TextWriter tw, object o) {
if(tw == null) {
throw new ArgumentNullException("tw");
}
if(o == null) {
throw new ArgumentNullException("o");
}
tw.WriteLine(o.ToString());
}
你应该改用
public void Write(TextWriter tw, object o) {
Contract.Requires(tw != null);
Contract.Requires(o != null);
tw.WriteLine(o.ToString());
}
Contract
的美妙之处在于它们变得公开并且可以成为文档的一部分而您无需额外的工作,因为保护条款不公开并且只能放入文档中有一些繁重的工作。因此,通过Contract
,您可以更清楚地在代码中表达需求和 promise 。
关于c# - 什么时候应该使用 C# 4.0 附带的代码契约?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4394812/