Обычно, если у меня есть тип nullable для необязательного параметра, я ставлю null в качестве значения по умолчанию. Таким образом я знаю, что если значение равно null, то вызывающая сторона не хочет указывать никакого значения для этого параметра.
public void Foo(string text, string text2= null);
Если параметр обычно является положительным целым числом, я могу использовать отрицательное число
public void Foo(string text, int index=-1);
Как насчет DateTime? Он не является nullable, и (насколько я знаю) у него нет бессмысленного числа, которое также не может быть истинным входом (как -1 для положительного целого числа). Или есть? Что бы вы использовали в этой ситуации?
Я также знаю, что могу использовать тип nullable DateTime
, но это означает, что вызывающий метод должен будет использовать Nullable, а не просто удобно передать DateTime.