Laajennusmetodeilla voidaan lisätä olemassa oleviin tyyppeihin metodeja muuttamatta niiden lähdekoodia. Laajennusmetodit ovat staattisen luokan staattisia metodeja. Tämän lisäksi sen erityispiirteenä on ensimmäinen parametri, jossa on avainsana this.
Esimerkiksi string-tyyppiä voisi laajentaa metodilla OnTyhja, joka tarkistaa onko arvo null tai ""
public static class Laajennukset
{
public static bool OnTyhja(this string s)
{
return string.IsNullOrEmpty(s);
}
}
string teksti = "";
if (teksti.OnTyhja())
{
Console.WriteLine("Tyhjä merkkijono");
}
Ja int:stä voisi tarkistaa onko se jaollinen jollain luvulla
public static class Laajennukset
{
public static bool OnJaollinen(this int luku, int jakaja)
{
return luku % jakaja == 0;
}
}
int luku = 15;
if (luku.OnJaollinen(3))
{
Console.WriteLine("15 on jaollinen kolmella");
}