Пример:
Код: Выделить всё
public class FClass{
public void F(string input1, string input2 = "my default string"){
// Do stuff
}
}
public class GClass{
public void G(string input1, string input2 = default){
// Do stuff, create someVar
Fclass.F(someVar, input2) //What can we do here? Note that F does not accept null values.
}
}
Есть способы выполнить проверку на null и т. д., но это может стать утомительно, если есть много необязательных параметров, которые должны обрабатываться таким образом.
Обратите внимание, что эти методы находятся в разных классах, поэтому естественно, что FClass вместо этого определяет входные данные по умолчанию для метода F. передать эту ответственность всем другим классам, которые могут захотеть использовать этот класс/метод.
Подробнее здесь: https://stackoverflow.com/questions/790 ... -parameter