Sobes.tech
Junior — Middle

Môžete vysvetliť, čo sa rozumie pod metódou rozšírenia v programovaní?

sobes.tech AI

Odpoveď od AI

Metóda rozšírenia v C# je spôsob, ako pridať novú metódu k existujúcemu typu bez zmeny jeho zdrojového kódu a bez vytvorenia nového potomka. Takéto metódy sú deklarované ako statické v statickej triede a prvý parameter metódy je označený kľúčovým slovom this, čo označuje typ, ku ktorému sa metóda pridáva.

Je to užitočné, keď je potrebné rozšíriť funkčnosť tried z knižníc, ku ktorým nemáme prístup na ich zmenu.

Príklad metódy rozšírenia:

public static class StringExtensions
{
    public static bool IsNullOrEmpty(this string str)
    {
        return string.IsNullOrEmpty(str);
    }
}

// Použitie:
string s = null;
bool result = s.IsNullOrEmpty();

Tu IsNullOrEmpty vyzerá ako metóda inštancie reťazca, hoci v skutočnosti je to statická metóda rozšírenia.