Agradeceríamos tu apoyo para compartir nuestras reseñas referente a las ciencias de la computación.
Solución:
DateTime.MinValue
no es un const
porque al idioma no le gusta const
en DateTime
. Una opción es usar DateTime?
en cambio, es decir
public static void DatesToPeriodConverter(DateTime start, DateTime? end = null,
out string date, out string time)
var effectiveEnd = end ?? DateTime.MinValue;
// ...
Sin embargo, aún tendrá el problema de tener parámetros no predeterminados después parámetros predeterminados: es posible que deba reordenarlos para usarlos como predeterminados.
Use sobrecargas de métodos regulares en su lugar:
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)
Alternativamente, default(DateTime)
es lo mismo que DateTime.MinValue
y es una constante de tiempo de compilación, pero tiendo a equivocarme al usar este estilo (no hay garantía en el futuro de que default(DateTime)
igualará DateTime.MinValue
):
public static void DatesToPeriodConverter(DateTime start, DateTime end = default(DateTime), out string date, out string time)
O como sugiere Marc, use DateTime?
lo que permite un null
valor por defecto.
Cambie un tipo del extremo del parámetro a Nullable y use null como valor predeterminado:
public static void DatesToPeriodConverter(DateTime start, DateTime? end = null, out string date, out string time)
o use default(DateTime) como valor predeterminado:
public static void DatesToPeriodConverter(DateTime start, DateTime end = default(DateTime), out string date, out string time)
Te mostramos las reseñas y valoraciones de los usuarios
Recuerda algo, que puedes valorar este ensayo si topaste tu dilema justo a tiempo.