我试图将重载方法的值设置为1,但我希望原始文件保持未初始化状态。C# - 创建一个重载的方法,其中一个int使用固定值,另一个接收值
public void Method1(string string1, decimal decimal1, int int1)
{
}
public void Method1(string string1, decimal decimal1, int int1 = 1)
{
}
我收到以下错误:
> Error 2 Type 'Application1.Application' already defines a member called 'Method1' with the same parameter types
它似乎并不像int int1 = 1
。我希望int1
在该方法的第二个版本中始终等于1,但首先我希望它接收用户输入的值,因此现在未初始化。
对不起,如果这之前已经问过,但经过一个小时的搜索,我发现我没有找到结果。如果我在这里遗漏任何东西,请告诉我,我会尽力给出更好的描述或更多细节。
对不起,我认为我不够清楚在OP中。如果用户没有为第一个值输入值,该方法的第二个版本将被使用,否则用户将提供一个值。谢谢你的帮助! – Moonpenguins 2014-10-17 14:28:49
@Moonpenguins:恐怕目前还不清楚你的意思。基本上你需要选择是否需要两个重载 - 如果你这样做,你必须给他们不同的签名。 – 2014-10-17 14:32:05
可选参数在c#4.0中引入,请在使用可选参数之前检查您的c#版本。 – 2014-10-17 20:19:11