Extensión de métodos

Las extensiones de métodos nos permiten añadir funciones o métodos en tipos ya existentes.

C#
namespace StringExtensionMethodStringExtensionMethods{
 public static class Extension{
  public static int CountWords(this string s){
   return s.Split(new Char() {" "c,"."c).Lenght;
  }
 }
}
Vb.Net
Namespace StringExtensionMethods
 public Module StringExtensions
  <Extension>
  Public Function CountWords(s as string) as Integer
   Return s.Split(new Char() {" "c,"."c).Lenght
  End Function
 End Module
End Namespace

En el ejemplo puedes comprobar como creamos un método que cuenta las palabras del string. Es un método que extiende el tipo string.
Las condiciones que se deben cumplir para crear un método de extensión son:
1. Declaración de un espacio de nombres
2. C# Clase estática / Visual Basic Modulo
3. C# Método estático / Visual Basic Método con atributo Extension
4. C# Primer parámetro con this

Sea cual sea su declaración posibilita usarlo en el tipo string tal y como puedes ver aquí:

C#
using StringExtensionMethods;
string message = "Hi there delegates"
int i = message.CountWords();
Vb.Net
Imports StringExtensionMethods
Dim message = "Hi there delegates"
Dim i = message.CountWords()
Anuncis

2 pensaments sobre “Extensión de métodos

  1. Retroenllaç: Empezamos con LINQ | My freelancer life
  2. Retroenllaç: LINQ como extensión de método | My freelancer life

Deixa un comentari

Fill in your details below or click an icon to log in:

WordPress.com Logo

Esteu comentant fent servir el compte WordPress.com. Log Out / Canvia )

Twitter picture

Esteu comentant fent servir el compte Twitter. Log Out / Canvia )

Facebook photo

Esteu comentant fent servir el compte Facebook. Log Out / Canvia )

Google+ photo

Esteu comentant fent servir el compte Google+. Log Out / Canvia )

Connecting to %s