【问题标题】:Override 2nd optional parameter while leaving the 1st optional parameter alone覆盖第二个可选参数,同时保留第一个可选参数
【发布时间】:2018-06-28 18:33:27
【问题描述】:

我对 C# 还是很陌生,所以我正在寻找一种方法来只覆盖某些可选参数,而让其他人不理会。我会有这样的东西:

Private void DoSomething(string Var1, int Var2 = 0, string Var3 = "TEST"){//Do something}

然后当我尝试这样做时:

DoSomething("my variable",,"OK");

我总是得到一个错误,说参数丢失。有没有办法覆盖可选参数而不覆盖它们之前的可选参数?

感谢您的帮助。

【问题讨论】:

    标签: c# optional-parameters


    【解决方案1】:

    您使用命名参数:

    DoSomething("My variable",Var3:"OK");
    

    【讨论】:

      【解决方案2】:

      简短回答:是的

      更长的答案:使用参数名称,最好为这些参数使用清晰的名称。

      例子:

      DoSomething(Var1: "my variable", Var3:"OK");
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-08-05
        • 2018-09-08
        • 2013-05-24
        • 1970-01-01
        • 1970-01-01
        • 2016-11-19
        相关资源
        最近更新 更多