2010-06-03 9 views

risposta

10

I metodi di estensione su Object si applicano anche ai tipi di valore. (E saranno imballati dalla chiamata, riducendo le prestazioni)

I metodi di estensione su <T> ma senza where T : class funzioneranno anche sui tipi di valore, ma non li boxeranno.

Inoltre, metodi di estensione su <T> possono scrivere typeof(T) per ottenere il tempo di compilazione tipo della loro invocazione.
Se lo fai, notare la differenza tra

someButton.Extension(); 
someButton.Extension<Control>(); 
someButton.Extension<Object>(); 
+0

Inoltre, il metodo si conosce il tipo di argomento, anche se è 'null', quando si utilizza la versione generica. Potrebbe importare, o potrebbe non esserlo. –

Problemi correlati