Possible Duplicate:
method overloading vs optional parameter in C# 4.0
似乎可选参数的大多数缺点(例如版本控制问题)可以通过将可选参数简单地转换为重载来解决。是否存在技术原因导致 C# 可选参数未以减少重载的方式实现?
最佳答案
一个原因是,如果编译器自动将可选参数编译到重载中,则会与开发人员自行定义它们的能力发生冲突。例如下面的代码是合法的。
class Container {
public void Example(int x) {
...
}
public void Example(int x, int y = 42) {
...
}
}
关于.net - 为什么可选参数不直接编译成 C# 中的等效重载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8866466/