Sobes.tech
Junior

Mi az az extension metódus a C#-ban?

sobes.tech MI

Válasz az MI-től

A kiterjesztési módszer (Extension Method) egy statikus módszer, amely úgy hívható meg, mintha a bővített típus módszere lenne, bár valójában a típuson kívül van definiálva.

Fő jellemzők:

  • Egy statikus osztályban deklarált statikus módszer.
  • A kiterjesztési módszer első paramétere this kulcsszóval van megjelölve, és a bővíteni kívánt típusra utal.
  • A kiterjesztési módszerek nem férnek hozzá a bővített típus privát és védett tagjaihoz.
  • Lehetővé teszik meglévő típusok funkcionalitásának hozzáadását anélkül, hogy módosítanánk a forráskódjukat vagy öröklődést használnánk.

Példa létrehozására és használatára:

  1. Egy statikus osztály és egy kiterjesztési módszer meghatározása:

    public static class StringExtensions // Statikus osztály
    {
        public static string ToTitleCase(this string input) // Kiterjesztési módszer a string típushoz
        {
            if (string.IsNullOrEmpty(input))
            {
                return input;
            }
            // Egyszerű logika a Title Case-re való átalakításhoz
            return System.Globalization.CultureInfo.CurrentCulture.TextInfo.ToTitleCase(input.ToLower());
        }
    }
    
  2. A kiterjesztési módszer használata:

    string myString = "hello world";
    string titleCaseString = myString.ToTitleCase(); // Hívás, mintha egy normál string metódus lenne
    // A titleCaseString most "Hello World" tartalmaz