Junior
Co je to rozšiřující metoda v C#?
sobes.tech AI
Odpověď od AI
Rozšiřující metoda (Extension Method) je statická metoda, kterou lze volat, jako by byla metodou rozšiřovaného typu, i když je ve skutečnosti definována mimo tento typ.
Hlavní vlastnosti:
- Je to statická metoda deklarovaná ve statické třídě.
- První parametr rozšiřující metody musí být označen klíčovým slovem
thisa ukazovat na typ, který chcete rozšířit. - Rozšiřující metody nemají přístup k soukromým a chráněným členům rozšiřovaného typu.
- Umožňují přidávat funkčnost ke stávajícím typům bez změny jejich zdrojového kódu nebo použití dědičnosti.
Příklad tvorby a použití:
-
Definice statické třídy a rozšiřující metody:
public static class StringExtensions // Statická třída { public static string ToTitleCase(this string input) // Rozšiřující metoda pro typ string { if (string.IsNullOrEmpty(input)) { return input; } // Jednoduchá logika převodu na Title Case return System.Globalization.CultureInfo.CurrentCulture.TextInfo.ToTitleCase(input.ToLower()); } } -
Použití rozšiřující metody:
string myString = "hello world"; string titleCaseString = myString.ToTitleCase(); // Volání jako běžná metoda typu string // titleCaseString nyní obsahuje "Hello World"