Saltar al contenido

¿El parámetro predeterminado para el valor debe ser una constante de tiempo de compilación?

Agradeceríamos tu apoyo para compartir nuestras reseñas referente a las ciencias de la computación.

Solución:

DateTime.MinValue no es un constporque 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.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *