小编Adi*_*asi的帖子

方法使用不同的返回类型重载

我想深入了解它是否是一个含糊不清或提供的额外功能:

 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(); ,它应该以错误结束任何人都知道为什么它允许第一个代码片段运行.

.net c# oop coding-style

17
推荐指数
4
解决办法
5万
查看次数

标签 统计

.net ×1

c# ×1

coding-style ×1

oop ×1