Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
System.Nullable System.TimeSpan does not contain a def
Message
De
15/06/2010 10:30:48
 
 
À
15/06/2010 10:09:47
Information générale
Forum:
ASP.NET
Catégorie:
Code, syntaxe and commandes
Divers
Thread ID:
01468950
Message ID:
01468953
Vues:
56
This message has been marked as the solution to the initial question of the thread.
>Hi,
>
>I am trying to write a method that will calculate the age of someone. Here is my code:
>
>
        /// <summary>
>        /// Calculates the Nearest Age
>        /// </summary>
>        /// <param name="birthDate">Date of Birth</param>
>        /// <param name="currentDate">Current Date</param>
>        /// <returns></returns>
>        public Int GetAgeNearest(DateTime? birthDate, DateTime? currentDate)
>        {
>            int age = 0;
>            if (birthDate != null && currentDate != null)
>            {
>                age = (int) ((currentDate - birthDate).TotalDays/365.25);
>            }
>            return age;
>        }
>
>And here is the error:
>
'System.Nullable<System.TimeSpan>' does not contain a definition for 'TotalDays' and no extension method 'TotalDays' accepting a first argument of type 'System.Nullable<System.TimeSpan>' could be found (are you missing a using directive or an assembly reference?)
>
>The problem I guess is that I am allowing null values to be passed in (that is what the ? does at the end of the parameter type, isn't it).
>
>How do I handle this?

If both are not null, cast them back
  age = (int) (((DateTime)currentDate - (DateTime)birthDate).TotalDays/365.25);
or
int age = (int)((currentDate.Value - birthDate.Value).TotalDays / 365.25);
Gregory
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform