Junior
Čo je to rozširujúca metóda v C#?
sobes.tech AI
Odpoveď od AI
Metóda rozšírenia (Extension Method) je statická metóda, ktorú je možné volať ako metódu rozširovaného typu, hoci je v skutočnosti definovaná mimo tohto typu.
Hlavné vlastnosti:
- Je to statická metóda deklarovaná v statickej triede.
- Prvý parameter rozširovacej metódy musí byť označený kľúčovým slovom
thisa ukazovať na typ, ktorý chcete rozšíriť. - Rozširovacie metódy nemajú prístup k súkromným a chráneným členom rozširovaného typu.
- Umožňujú pridávať funkcionalitu k existujúcim typom bez zmeny ich zdrojového kódu alebo použitia dedičnosti.
Príklad vytvorenia a použitia:
-
Definícia statickej triedy a rozširovacej metódy:
public static class StringExtensions // Statická trieda { public static string ToTitleCase(this string input) // Rozširovacia metóda pre typ string { if (string.IsNullOrEmpty(input)) { return input; } // Jednoduchá logika konverzie na Title Case return System.Globalization.CultureInfo.CurrentCulture.TextInfo.ToTitleCase(input.ToLower()); } } -
Použitie rozširovacej metódy:
string myString = "hello world"; string titleCaseString = myString.ToTitleCase(); // Volanie ako bežná metóda string // titleCaseString teraz obsahuje "Hello World"