.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);

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4 из 5
Похожие ответы