2009-08-24 11 views
5

Mi profesor nos pidió que investigáramos qué era una clase de extensión, pero parece que no puedo encontrar nada en MSDN o Google. ¿Alguna ayuda?¿Qué es una clase de extensión?

+0

¿Quiere decir métodos de extensión? ¿No cree que existen clases de extensión en C# a menos que esté refiriéndose a clases derivadas? – James

+1

¿Estás seguro de que era "clase de extensión" y no "método de extensión"? –

Respuesta

17

No existe la "clase de extensión" en la terminología formal de C#. Puede significar una clase que define extension methods (que no es nada especial, es solo una clase simple static).

+0

Tenía mis dudas sobre la pregunta también. Bueno, es bueno saberlo. ¡Gracias! :) –

2

Una clase que tiene extension methods.

Los métodos de extensión le permiten "agrega" métodos a los tipos existentes sin creación de un nuevo tipo derivado, recompilación, o de otra manera modificar el tipo original. Los métodos de extensión son un tipo especial de método estático, pero se llaman como si fueran métodos de instancia en el tipo extendido. Para el código de cliente escrito en C# y Visual Basic, no hay aparente diferencia entre llamar a un método de extensión y los métodos que están realmente definidos en un tipo.

2

Técnicamente una "clase extensión" no es nada. En la lengua vernácula, podría ser utilizado por alguien para referirse a una clase que está diseñada para almacenar extension methods. Los métodos de extensión son métodos que se usan para parecerse a los métodos de instancia de una clase, pero que son métodos realmente estáticos en una clase estática que se proporcionan para mejorar y encapsular cierta funcionalidad. Son especialmente útiles cuando intenta extender cierta funcionalidad en un tipo que no puede modificar directamente y agregar un método a. Además, a menudo se usan con tipos genéricos (especialmente dentro del marco .net 3.5) para extender la funcionalidad usando los métodos proporcionados por una interfaz específica.

0

No sé si la clase de extensión existe. Pero el método de extensión está ahí. Prueba esta clase Una extensión Extension Method

0

en C# podría ser simplemente una clase de niño (heredar y la adición de más funcionalidad al tipo base o interfaz) o una clase estática.

Cuestiones relacionadas