Convert con un metodo generico

Questo dicembre è davvero mese tremendo che non mi sta dando poco spazio per partecipare alla vita di community... avrei tante cose da scrivere in riferimento alle recenti esperienze e ho messo in cantiere anche idee per articoli... ma ahimè il tempo è tiranno! Dato il poco tempo e per non lasciare del tutto vuoto il muro della mia home ho deciso di pubblicare qualche riga di codice natalizio proponendo una "Convert con un metodo generico" così come avevo proposto un "Casting con un metodo generico".

        public static T Convert<T>(object o, T defaultValue)
        {
            T value;

            //Se "null" o "DbNull" ritorno il valore di default ...
            if (o == null || System.Convert.IsDBNull(o)) return defaultValue;

            //Se l'oggetto è castabile torno l'oggetto castato ...    
            //[.whidbey] Casting con un metodo generico 
            //http://blogs.ugidotnet.org/markino/archive/2005/05/11/16006.aspx
            if (Casting.Try<T>((o, out value)) return value;
         
            //Effettuo la conversione del tipo ...
            TypeConverter converter = TypeDescriptor.GetConverter(typeof(T));
            value = (T)converter.ConvertTo(o, typeof(T));
            return value == null ? defaultValue : value;
        }

posted @ venerdì 15 dicembre 2006 10:40

Print
Comments have been closed on this topic.
«gennaio»
domlunmarmergiovensab
2930311234
567891011
12131415161718
19202122232425
2627282930311
2345678