相关疑难解决方法(0)

在Java中使用不同的返回类型进行重载?

为什么仅通过更改返回类型来重载函数是不可能的?这将在未来的Java版本中发生变化吗?

那么,仅供参考,这在C++中是否可行?

java overloading

92
推荐指数
4
解决办法
8万
查看次数

真的不可能使用返回类型重载?

我用两种方法在MSIL中创建了一个小DLL:

float AddNumbers(int, int)
int AddNumbers(int, int)
Run Code Online (Sandbox Code Playgroud)

正如你们可能知道的那样,MSIL允许你创建具有相同参数的方法,只要你有不同类型的返回类型(所谓的返回类型重载).现在,当我尝试从c#中使用它时,正如我所期待的那样,它发出错误:

float f = ILasm1.MainClass.AddNumbers(1, 2);
Run Code Online (Sandbox Code Playgroud)

错误是:

以下方法或属性之间的调用不明确:'ILasm1.MainClass.AddNumbers(int,int)'和'ILasm1.MainClass.AddNumbers(int,int)'

c#真的无法区分不同的返回类型吗?我知道我不能编写只有不同返回类型的方法,但我总是认为它会知道如何处理它.

.net c#

11
推荐指数
3
解决办法
4606
查看次数

标签 统计

.net ×1

c# ×1

java ×1

overloading ×1