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
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011