参见英文答案 >
Function overloading by return type?11
我想深入了解它是否是一个歧义或额外的功能:
我想深入了解它是否是一个歧义或额外的功能:
public class Foo { public int Bar(){ //code } public string Bar(int a){ //code } }
任何有任何经验的人都可以用不同的参数来重载返回类型,这是不好的做法,是吗?
但是,如果重载是在返回类型的基础上完成的,那为什么这不工作.
public class Foo { public int Bar(int a){ //code } public string Bar(int a){ //code } }
因为它将无法决定哪个函数调用第一个或第二个,如果我们调用obj.Bar();,它应该以错误结束,任何人都有任何想法,为什么它允许第一个代码片段运行.