Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - Generics non-nullable
Forum - C# / VB.NET - Generics non-nullable

Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 1:00
Giovedì, 01/01/1970
Ciao raga, avrei bisogno di implementare un controllo che determini se un generic è un tipo che non accetta valori null (quindi i primitivi e i decimal) e pensavo di farlo tramite code contracts.

Solo che l'unica idea che mi è venuta in mente è quella di usare il costruttore e verificare la condizione, ma questo permetterebbe comunque la dichiarazione di una variabile non inizializzata 8-|
Codice sorgente - presumibilmente Plain Text

  1. Foo<int> fuuuuuu; // non deve succedere!



Come dovrei procedere secondo voi?

PM
Avatar
HeDo (Founder Member)
Guru^2


Messaggi: 2765
Iscritto: 21/09/2007

Up
0
Down
V
Segnala al moderatore
Postato alle 14:01
Lunedì, 05/09/2011

un tipo che può essere nullo è semplicemente una classe, oppure Nullable<T> - HeDo - 05/09/11 17:32
ti sbagli, le struct sono tipi value, NON possono essere nulli. - HeDo - 05/09/11 23:36
PM
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Up
0
Down
V
Segnala al moderatore
Postato alle 13:15
Mercoledì, 07/09/2011
Puoi usare default(T) per ottenere il valore di default del tipo T.

Ultima modifica effettuata da Il Totem il 07/09/2011 alle 16:52
PM
Usa i commenti per chiedere spiegazioni o ringraziare le risposte.