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