Junior
Šta je metoda proširenja u C#?
sobes.tech АИ
Одговор од АИ
Metod proširenja (Extension Method) je statički metod koji se može pozvati kao da je metoda proširenog tipa, iako je zapravo definisan van tog tipa.
Glavne osobine:
- To je statički metod deklarisan u statičkoj klasi.
- Prvi parametar metode proširenja mora biti označen ključnom reči
thisi ukazuje na tip koji želite da proširite. - Metode proširenja nemaju pristup privatnim i zaštićenim članovima proširenog tipa.
- Omogućavaju dodavanje funkcionalnosti postojećim tipovima bez izmene njihovog izvornog koda ili korišćenja nasleđivanja.
Primer kreiranja i korišćenja:
-
Definisanje statičke klase i metode proširenja:
public static class StringExtensions // Statička klasa { public static string ToTitleCase(this string input) // Metoda proširenja za tip string { if (string.IsNullOrEmpty(input)) { return input; } // Jednostavna logika za konverziju u Title Case return System.Globalization.CultureInfo.CurrentCulture.TextInfo.ToTitleCase(input.ToLower()); } } -
Korišćenje metode proširenja:
string myString = "hello world"; string titleCaseString = myString.ToTitleCase(); // Pozivanje kao da je obična metoda string // titleCaseString sada sadrži "Hello World"