2010-06-03 12 views

Respuesta

10

Los métodos de extensión en Object también se aplicarán a los tipos de valores. (Y estarán encasilladas por la llamada, reduciendo el rendimiento)

Los métodos de extensión en <T> pero sin where T : class también funcionarán en los tipos de valores, pero no los encapsularán.

Además, los métodos de extensión en <T> pueden escribir typeof(T) para obtener el en tiempo de compilación tipo de su invocación.
Si lo hace, tenga en cuenta la diferencia entre

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

Además, el método se conoce el tipo del argumento, incluso si es 'null', al utilizar la versión genérica. Podría importar, o podría no serlo. –

Cuestiones relacionadas