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.
«novembre»
domlunmarmergiovensab
272829303112
3456789
10111213141516
17181920212223
24252627282930
1234567