Use regular method overloads instead:
public static void DatesToPeriodConverter(DateTime start, out string date, out string time) { DatesToPeriodConverter(start, DateTime.MinValue, out date, out time); } public static void DatesToPeriodConverter(DateTime start, DateTime end, out string date, out string time) { }
Atlernatively, default(DateTime) is the same as DateTime.MinValue and is compile time constant, but I tend to err away from using this style (there's no guarantee in future that default(DateTime) will equal DateTime.MinValue):
public static void DatesToPeriodConverter(DateTime start, DateTime end = default(DateTime), out string date, out string time)
Or as Marc suggests, use DateTime? which allows a null default value.