5 messaggi dal 13 gennaio 2006
Ciao!
Ho riscontrato lo stesso problema e vorrei capire meglio il codice che hai postato.

Ho visto che IsGenericType restituisce sempre false. Mi puoi spiegare il significato dell'espressione booleana che ritorni?
Perchè in questo caso funziona?

Sono abbastanza nuovo con la tecnologia asp.net e mi piacerebbe capire meglio il problema.

Ciao e grazie!

Max
prowler wrote:
Ho visto che IsGenericType restituisce sempre false. Mi puoi spiegare il significato dell'espressione booleana che ritorni?

perchè se non è un tipo Generic, è normale che faccia così
Perchè in questo caso funziona?

perchè di default il controllo fa solo il primo dei due controlli, cioè:
base.IsBindableType(type)

che verifica che il tipo possa essere associato (che in genere è sempre vero per i tipi primitivi [string, int, etc]).

Daniele Bochicchio | ASPItalia.com | Libri
Chief Operating Officer@iCubed
Microsoft Regional Director & MVP
71 messaggi dal 29 novembre 2005
tra i due litiganti il terzo gode 'o frode'
quindi i 500 euriiii sono miei
diska wrote:
tra i due litiganti il terzo gode 'o frode'
quindi i 500 euriiii sono miei

ok, tu da oggi pagherai ogni richiesta di aiuto 300 euro... così finirai subito i 500 euro che ci hai rubato!

Daniele Bochicchio | ASPItalia.com | Libri
Chief Operating Officer@iCubed
Microsoft Regional Director & MVP
5 messaggi dal 13 gennaio 2006
Perdonami ma ancora non capisco il senso di questa espressione  :

return !(!base.IsBindableType(type) && !type.IsgenericType)


se passo un type "int" per esempio l'espressione dovrebbe ritornare true perchè

!base.IsBindableType(int) ---> false
!type.isGenericType ---> true
&& ---> false
return !(...) ---> true ok?

Ma se gli passo un Nullable<DateTime>

!base.IsBindableType(Nullable<DateTime>) ---> true
!type.isGenericType ---> true
&& ---> true
return !(...) ---> false giusto?

E se la funzione ritorna false il tipo non viene bindato e quindi non viene visualizzata la colonna giusto?

Dovrebbe anche in quest'ultimo caso ritornare true o sbaglio? Non riesco proprio a capire... Se mi puoi dare una spiegazione un po' più dettagliata te ne sarei molto grato.

Ciao ciao
No, nel secondo caso è

!base.IsBindableType(Nullable<DateTime>) ---> true
!type.isGenericType ---> false
&& ---> false
return !(...) ---> true

Ciao

Il mio blog
Homepage
5 messaggi dal 13 gennaio 2006
Ok ho finalmente capito
Ma la domanda a questo punto mi sorge spontanea: ma non si può fare semplicemente così?


public override bool IsBindableType(Type type)
    {
      return true;
    }


Evidentemente no immagino, ma perchè?

Ciao ciao
Perché così carichi anche tipi complessi, come classi custom, o qualsiasi classe del framework, che con una textbox non si possono rappresentare (poi dipende da cosa la classe è).
In generale così ho mantenuto la capacità di bindare tipi primitivi

Ciao

Il mio blog
Homepage

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.