Sobes.tech
Junior

Kas yra plėtros metodas C#?

sobes.tech AI

Atsakymas iš AI

Plėtros metodas (Extension Method) yra statinis metodas, kurį galima iškviesti taip, tarsi jis būtų plėtinio tipo metodas, nors iš tikrųjų jis apibrėžtas už šio tipo ribų.

Pagrindinės savybės:

  • Tai yra statinis metodas, deklaruotas statinėje klasėje.
  • Pirmasis plėtros metodo parametras turi būti pažymėtas raktažodžiu this ir nurodyti tipą, kurį norite išplėsti.
  • Plėtros metodai neturi prieigos prie privačių ir apsaugotų plėtinio tipo narių.
  • Jie leidžia pridėti funkcionalumą prie esamų tipų be jų šaltinio kodo keitimo ar paveldėjimo naudojimo.

Pavyzdys, kaip sukurti ir naudoti:

  1. Apibrėžti statinį klasę ir plėtros metodą:

    public static class StringExtensions // Statinė klasė
    {
        public static string ToTitleCase(this string input) // Plėtros metodas tipui string
        {
            if (string.IsNullOrEmpty(input))
            {
                return input;
            }
            // Paprasta logika konvertuoti į Title Case
            return System.Globalization.CultureInfo.CurrentCulture.TextInfo.ToTitleCase(input.ToLower());
        }
    }
    
  2. Naudoti plėtros metodą:

    string myString = "hello world";
    string titleCaseString = myString.ToTitleCase(); // Kvietimas kaip įprasto string metodo
    // titleCaseString dabar turi reikšmę "Hello World"