首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

关于重构有关问题

2012-01-29 
关于重构问题publicstringtest(stringstr){}publicinttest(stringstr){}编译到第二函数的时候,报错,如何解

关于重构问题
public   string   test(string   str)
{}

public   int   test(string   str)
{}

编译到第二函数的时候,报错,如何解决这个问题????

[解决办法]
这不叫重构,叫重载。
重载时参数类型必须不同,否则程序没办法知道你调用那个函数
[解决办法]
这叫重载,重载是指同名但不同 "签名 "之间的关系,方法的签名包括 "参数的数目,参数的类型,参数的顺序和方法的名称 ",只用签名不同时,才能返回不同的类型,否则编译无法通过
[解决办法]
这是重载
不能根据返回值的类型进行重载
[解决办法]
重载
每个类型成员都有一个唯一的签名。方法签名由方法名称和一个参数列表(方法的参数的顺序和类型)组成。只要签名不同,就可以在一种类型内定义具有相同名称的多种方法。当定义两种或多种具有相同名称的方法时,就称作重载。参数列表可以通过 varargs 约束来限定,此约束指出方法支持一个变量参数列表。例如,在 System.Char 中,IsDigit 被重载。一种方法使用了一个 Char 并返回一个 Boolean。另一种方法使用了一个 String 和一个 Int32,并返回一个 Boolean。

但是:如果只有返回值不一样的话,就不能重载!

热点排行