Sobes.tech
Junior

Mis on laiendusmeetod C#-s?

sobes.tech AI

Vastus AI-lt

Laiendamise meetod (Extension Method) on staatiline meetod, mida saab kutsuda nagu see oleks laiendatava tüübi meetod, kuigi tegelikult see on määratletud väljaspool seda tüüpi.

Peamised omadused:

  • See on staatiline meetod, mis on deklareeritud staatilises klassis.
  • Laiendamise meetodi esimene parameeter peab olema märgitud võtmesõnaga this ja näitama tüüpi, mida soovite laiendada.
  • Laiendamise meetoditel ei ole juurdepääsu laiendatava tüübi privaatsetele ja kaitstud liikmetele.
  • Need võimaldavad lisada funktsionaalsust olemasolevatele tüüpidele ilma nende lähtekoodi muutmata või pärimise kasutamiseta.

Näide loomise ja kasutamise kohta:

  1. Deklareerige staatiline klass ja laiendamise meetod:

    public static class StringExtensions // Staatiline klass
    {
        public static string ToTitleCase(this string input) // Laiendamise meetod string-tüüpi
        {
            if (string.IsNullOrEmpty(input))
            {
                return input;
            }
            // Lihtne loogika Title Case-ks muutmiseks
            return System.Globalization.CultureInfo.CurrentCulture.TextInfo.ToTitleCase(input.ToLower());
        }
    }
    
  2. Kasutage laiendamise meetodit:

    string myString = "hello world";
    string titleCaseString = myString.ToTitleCase(); // Kutsutakse nagu tavaline string meetod
    // titleCaseString nüüd sisaldab "Hello World"