我想深入了解它是否是一个含糊不清或提供的额外功能:
public class Foo
{
public int Bar(){
//code
}
public string Bar(int a){
//code
}
}
Run Code Online (Sandbox Code Playgroud)
任何有这方面经验的人,在具有不同参数的返回类型上重载应该是一种不好的做法,是吗?
但是如果重载是在返回类型的基础上完成的,那么为什么这不起作用.
public class Foo
{
public int Bar(int a){
//code
}
public string Bar(int a){
//code
}
}
Run Code Online (Sandbox Code Playgroud)
因为它将无法决定调用第一个或第二个函数,如果我们调用obj.Bar(); ,它应该以错误结束任何人都知道为什么它允许第一个代码片段运行.