Metody rozszerzające

Metody rozszerzające pozwalają rozszerzać istniejący typ o nowe metody, ale bez zmieniania pierwotnej definicji typu. Metoda rozszerzająca to statyczna metoda statycznej klasy, w której do pierwszego parametru stosuje się modyfikator this. Typ pierwszego parametru określa wtedy typ rozszerzany przez metodę. Oto przykład:

public static class StringHelper
{
  public static bool IsCapitalized (this string s)
  {
    if (string.IsNullOrEmpty (s)) return false;
    return char.IsUpper (s[0]);
  }
}

Metoda rozszerzająca IsCapitalized może być wywoływana tak, jakby była zwyczajną metodą instancji (a więc metodą niestatyczną) dla typu string, jak tutaj:

Console.Write ("Warszawa".IsCapitalized());

Wywołanie metody rozszerzającej jest w czasie kompilacji ...

Get C# 5.0. Leksykon kieszonkowy. Wydanie III now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.