.NET 4.x Параметр при передаче в метод - C#
Формулировка задачи:
Есть метод. Обзовём его GetBox. На входе принимает параметр, который может быть, а может и не быть
Далее где-то в коде:
В связи с появлением различных "сладостей" в виде параметров по-умолчанию, сам Троелсен ))) прям велел запихнуть
public bool GetBox(bool reserved = true)
{
if(reserved) {...}
...
Calculate(reserved)
...
}
private void Calculate(bool isReserved) {...}bool calculated = GetBox(false); //или bool isReallyCalculated = GetBox();
bool reserved = true.
Но, сталкивался с огромным морем современного кода, где нет параметров по-умолчанию.
В связи с этим вопрос: если я точно знаю что параметр может иметь дефолтное значение, стоит ли делать ему присвоение прям в инициализации метода (что значимый тип, что ссылочный)? Или же лучше убрать это, и тогда в коде явно будет видно что параметр нужно задать
.
Опять же, метод может иметь несколько дефолтных параметров. И тогда всё ещё нагляднее вроде получается:
///Тут полноценный comment что там и к чему
public bool CalculateBox(bool reserved = true, MyClass myClass = null)
{
...
}
bool isReallyReallyCalculated = CalculateBox(myClass: someInnerClass);Решение задачи: «.NET 4.x Параметр при передаче в метод»
textual
Листинг программы
private void GetSomeCoffee(Sugar sugar, Milk milk, bool сПенкой, bool сКоричкой) {...}
GetSomeCoffee(sugar, null, true, false);