Sobes.tech
Junior — Middle

Můžete vysvětlit, co se rozumí metodou rozšíření v programování?

sobes.tech AI

Odpověď od AI

Metoda rozšíření v C# je způsob, jak přidat novou metodu k existujícímu typu bez změny jeho zdrojového kódu a bez vytvoření nového potomka. Tyto metody jsou deklarovány jako statické ve statické třídě a první parametr metody je označen klíčovým slovem this, což určuje typ, ke kterému je metoda přidávána.

Je to užitečné, když je třeba rozšířit funkčnost tříd z knihoven, ke kterým nemáme přístup ke změně.

Příklad metody rozšíření:

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

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

Zde IsNullOrEmpty vypadá jako metoda instance řetězce, ačkoliv ve skutečnosti je to statická metoda rozšíření.