Переопределить 2-й необязательный параметр, оставив 1-й необязательный параметр в покое - PullRequest
0 голосов
/ 28 июня 2018

Я все еще довольно новичок в C #, поэтому я ищу способ переопределить только некоторые необязательные параметры, оставив другие в покое. Я хотел бы что-то вроде этого:

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

Тогда, когда я пытаюсь сделать это:

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

Я всегда получаю сообщение о том, что параметр отсутствует. Есть ли способ переопределить необязательные параметры без переопределения необязательных параметров перед ними?

Спасибо за помощь.

Ответы [ 2 ]

0 голосов
/ 28 июня 2018

Вы используете именованный аргумент:

DoSomething("My variable",Var3:"OK");
0 голосов
/ 28 июня 2018

Краткий ответ: да

Более длинный ответ: используйте имена параметров и, предпочтительно, используйте ясные имена для этих параметров.

Пример:

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