Junior
Ce este o metodă de extensie în C#?
sobes.tech AI
Răspuns de la AI
Metoda de extensie (Extension Method) este o metodă statică care poate fi apelată ca și cum ar fi o metodă a tipului extins, deși în realitate este definită în afara acestui tip.
Caracteristici principale:
- Este o metodă statică declarată într-o clasă statică.
- Primul parametru al metodei de extensie trebuie marcat cu cuvântul cheie
thisși indică tipul pe care doriți să îl extindeți. - Metodele de extensie nu au acces la membrii privați și protejați ai tipului extins.
- Permite adăugarea de funcționalități la tipuri existente fără a modifica codul sursă sau a folosi moștenirea.
Exemplu de creare și utilizare:
-
Definirea unei clase statice și a unei metode de extensie:
public static class StringExtensions // Clasă statică { public static string ToTitleCase(this string input) // Metodă de extensie pentru tipul string { if (string.IsNullOrEmpty(input)) { return input; } // Logică simplă de conversie la Title Case return System.Globalization.CultureInfo.CurrentCulture.TextInfo.ToTitleCase(input.ToLower()); } } -
Utilizarea metodei de extensie:
string myString = "hello world"; string titleCaseString = myString.ToTitleCase(); // Apel ca și cum ar fi o metodă normală de string // titleCaseString acum conține "Hello World"