C#重载,返回void和object(字符串)
本文关键字:object 字符串 void 重载 返回 | 更新日期: 2023-09-27 17:59:08
我试图创建一个重载函数,返回void或类似这样的字符串:
public string Message { get; private set; }
public void Foo (Bar bar)
{
Message = "Hello World!";
}
public string Foo (Bar bar)
{
return "Hello World!";
}
但我得到了Compile Time
错误说:
Type 'Foo' already defines a member called with the same parameter types.
有什么办法可以让我达到那种超负荷的状态吗?
不,不可能有这样的过载。
编译器会在这一行调用什么方法:
Foo (new Bar());
对于两者来说,这将是一种完全有效的语法,无法区分,而且这种情况决不能发生。
方法重载必须具有不同的参数。仅仅使用不同的返回类型是不够的。
不,你不能那样做。返回类型更改不是方法签名更改。这是关于过载的指导方针的链接