Junior
Cos'è un metodo di estensione in C#?
sobes.tech AI
Risposta dell'AI
Il metodo di estensione (Extension Method) è un metodo statico che può essere chiamato come se fosse un metodo del tipo esteso, anche se in realtà è definito al di fuori di quel tipo.
Caratteristiche principali:
- È un metodo statico dichiarato in una classe statica.
- Il primo parametro del metodo di estensione deve essere contrassegnato con la parola chiave
thise indicare il tipo che si desidera estendere. - I metodi di estensione non hanno accesso ai membri privati e protetti del tipo esteso.
- Permettono di aggiungere funzionalità ai tipi esistenti senza modificare il loro codice sorgente o usare l'ereditarietà.
Esempio di creazione e utilizzo:
-
Definizione di una classe statica e di un metodo di estensione:
public static class StringExtensions // Classe statica { public static string ToTitleCase(this string input) // Metodo di estensione per il tipo string { if (string.IsNullOrEmpty(input)) { return input; } // Logica semplice di conversione in Title Case return System.Globalization.CultureInfo.CurrentCulture.TextInfo.ToTitleCase(input.ToLower()); } } -
Utilizzo del metodo di estensione:
string myString = "hello world"; string titleCaseString = myString.ToTitleCase(); // Chiamata come se fosse un metodo normale di string // titleCaseString ora contiene "Hello World"