这是我的方法签名。在尝试end作为可选参数传递时,它给了我这个错误。我应该怎么做才能解决这个问题?为什么不是DateTime.MinValue常数?
end
DateTime.MinValue
public static void DatesToPeriodConverter(DateTime start, DateTime end = DateTime.MinValue, out string date, out string time)
DateTime.MinValue不是const,因为语言不一样const的DateTime。一种选择是改为使用DateTime?,即
const
DateTime
DateTime?
public static void DatesToPeriodConverter(DateTime start, DateTime? end = null, out string date, out string time) { var effectiveEnd = end ?? DateTime.MinValue; // ... }
但是,在默认参数 之后 仍然存在非默认参数的问题-您可能需要重新排序它们才能将其用作默认参数。