Normalmente, si tengo un tipo anulable para un parámetro opcional, pondría nulo como el valor predeterminado. De esta forma sé que si el valor es nulo, la persona que llama no quiere especificar ningún valor para ese.¿Cuál debería ser el valor predeterminado en un parámetro opcional DateTime?
public void Foo(string text, string text2= null);
Si el parámetro es normalmente un número entero positivo, puedo usar un número negativo
public void Foo(string text, int index=-1);
¿Qué hay de DateTime? No es nulable, y (hasta donde yo sé) no tiene un número sin sentido que tampoco puede ser una entrada verdadera (como -1 para entero positivo). ¿O está ahí? ¿Qué usarías en esta situación?
También sé que puedo usar el tipo de nula DateTime
, pero esto significa que la persona que realiza el método tendrá que usar Nullable y se opondrá a pasar convenientemente un DateTime.
posible duplicado de [C# 4.0: ¿Puedo usar un TimeSpan como un parámetro opcional con un valor predeterminado?] (Http://stackoverflow.com/questions/2168798/c-sharp-4-0-can-i- use-a-timespan-as-an-optional-parameter-with-a-default-value) – nawfal