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.
«dicembre»
domlunmarmergiovensab
24252627282930
1234567
891011121314
15161718192021
22232425262728
2930311234