>Salve
Ciao!
>ho questa esigenza e non so se i generics possono fare al caso..
>leggendo quà e là credo di si, ma io non riesco..
>
>Parliamo in applicativo windows scritto in C#
>
>in una parte del codice leggo i dati da un datareader lDr
>
>lclasse.ragionesociale = lDr.GetString(1).ToString().Trim();
>lclasse.indirizzo = lDr.GetString(2).ToString().Trim();
>lclasse.cap = lDr.GetString(3).ToString().Trim();
>
>se il valore del db è nullo da errore..
>
>Volevo creare una funzione ELIMINANULL che passato il valore
>(lDr.GetString(1) oppure lDr.getValues(1) .. come preferite)
>ritorna il valore se non nullo oppure 0 o "" se numerico o stringa..
>
>Pensavo a creare una classe generics in cui passo il tipo del
>campo (string o Int32) + il valore e mi ritorna il valore oppure
>0 - "" se nullo..
>
>E' possibile?
diciamo che con i generics puoi scrivere un template per una classe utilizzando un segnaposto per il tipo dei dati che in essa utilizzi (quelli che ritieni opportuno).
Ad esempio:
class Utility <T>
{
static public T IsNull(T param)
{
if (param != null)
{
return param;
}
}
}
In questo modo quando richiami la classe, puoi definire il tipo di ritorno della funzione e il tipo dei parametri che passi.
Ma poi la funzione al suo interno deve comunque controllare il tipo per tornare risultati diversi.
Poi, considera che all'intero non puoi passare null e questo ti impone di gestire il fatto che ti possa arrivare un null prima di lanciare la funzione.
Non so, in questo caso preferisco due funzioni differenti.. una per le stringhe ed una per gli interi. E la gestione del null ti consiglio di farla prima comunque, utilizzando dei default (ad esempio se nel tuo intero da db ricevi null, imponi -1 o un valore che sai che non userai mai).
ad esempio, per le stringhe:
static public string StrIsNull(string param)
{
string retValue = "";
if (param != null)
{
retValue = param;
}
return retValue;
}
e per gli interi:
static public int IntIsNull(int param)
{
int retValue = 0;
if (param != -1)
{
retValue = param;
}
return retValue;
}
>Grazie
di nulla! 
spero possa esserti di aiuto.. ma mi appello ai veri esperti nel settore 
Alx81 =)
http://blogs.dotnethell.it/suxstellino