方法的默认参数是否违反了封装性?
C#不提供默认参数的原因是什么?
C# 4.0 中默认参数实现的一个缺点是它会创建对参数名称的依赖。这在 VB 中已经存在,这可能是他们选择在 4.0 中实现它的原因之一。
另一个缺点是默认值取决于您如何转换对象。您可以在此处阅读有关此问题的详细信息:http://saftsack.fs.uni-bayreuth.de/~dun3/archives/optional-parameters-conclusion-treat-like-unsafe/216.html。