Sobes.tech
Junior — Middle

Tudja magyarázni, hogy mit értünk bővítési módszer alatt a programozásban?

sobes.tech MI

Válasz az MI-től

A C#-ban az extension metódus egy módja annak, hogy egy meglévő típushoz új metódust adjunk hozzá anélkül, hogy módosítanánk a típus forráskódját, és anélkül, hogy új örökölt osztályt hoznánk létre. Ezek a metódusok statikusak egy statikus osztályban, és az első paramétert this kulcsszóval jelöljük, jelezve, hogy melyik típushoz adódik hozzá a metódus.

Ez akkor hasznos, ha olyan osztályok funkcionalitását szeretnénk bővíteni, amelyekhez nincs hozzáférésünk a módosításhoz.

Példa egy extension metódusra:

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

// Használat:
string s = null;
bool result = s.IsNullOrEmpty();

Itt az IsNullOrEmpty úgy néz ki, mint egy példány metódus a stringen, pedig valójában egy statikus extension metódus.