Quali sono i metodi di estensione?
I metodi di estensione sono una sorta di metodo statico che rimuove il problema della modifica del codice sorgente per l'aggiunta di nuovi metodi. Ciò significa che gli sviluppatori possono aggiungere nuove funzionalità a tipi come stringhe, numeri interi o qualsiasi altra classe personalizzata senza dover creare una nuova classe o modificare la classe originale. I metodi di estensione sono definiti in classi statiche e usano il "Questo" Parola chiave per specificare il tipo esteso, la sintassi per la creazione di un metodo di estensione è la seguente:
Public Static ReturnType MethodName (questo parametro ExtendedType)La parola chiave pubblica indica che il metodo è accessibile da qualsiasi luogo nel codice, statico indica che il metodo è un metodo statico e ReturnType è il tipo di dati che viene restituito con quel metodo. MethodName è il nome del metodo di estensione e questa parola chiave seguita da ExtendedType Il parametro indica che questo metodo estende la classe ExtendedType.
Il parametro è il parametro passato al metodo e l'implementazione del metodo è scritta all'interno delle parentesi graffe . Questa sintassi consente agli sviluppatori di creare nuovi metodi per i tipi esistenti, rendendo il codice più riutilizzabile e modulare.
Come utilizzare il metodo di estensione per estendere la classe stringa
Supponiamo di voler aggiungere un nuovo metodo alla classe String che capitalizza la prima lettera della stringa, puoi farlo usando un metodo di estensione utilizzando il codice indicato di seguito:
usando il sistema;Abbiamo creato una nuova applicazione della console che include la classe Stringextensions e, in main, abbiamo creato una variabile stringa denominata come input e la assegnata una stringa che contiene "Ciao Linux". Successivamente il Capitalizzafirstletter Il metodo di estensione viene chiamato sulla stringa di input, che capitalizza la prima lettera della stringa. Infine, stampiamo il risultato sulla console usando la funzione "WriteLine ()" in modo da vedere l'output "Ciao Linux" Quando esegui questo programma:
Come utilizzare il metodo di estensione per estendere la classe intera
Supponiamo di voler aggiungere un nuovo metodo alla classe intera che determina se l'intero è uniforme o dispari. Puoi farlo usando un metodo di estensione, come mostrato di seguito:
usando il sistema;Il codice crea un metodo di estensione è il tipo di dati INT e il È anche La funzione restituisce vera se l'intero input è uniforme e falso altrimenti.
Nella principale, abbiamo creato un numero di variabile intero e lo abbiamo assegnato il valore 10 e successivamente chiamiamo il metodo di estensione ISEven sulla variabile numero, che restituisce vero poiché 10 è persino. Infine, stampiamo il risultato sulla console usando la funzione "WriteLine ()" in modo da vedere l'output "10 è pari" Quando esegui questo programma:
Come utilizzare il metodo di estensione per estendere l'interfaccia dell'elenco
Supponiamo che tu voglia aggiungere un nuovo metodo al Ilist interfaccia che determina se l'elenco è vuoto o meno e per eseguire il suo metodo di estensione, come mostrato di seguito:
usando il sistema;In questo esempio, abbiamo creato un metodo di estensione ISEMPTY per l'ilist Tipo di dati, dove T è un parametro di tipo generico. IL È vuoto Il metodo restituisce vero se l'elenco di input è nullo o non ha elementi e falsi altrimenti. Nel principale abbiamo creato un nuovo Elenco chiamato numeri e poi chiamato il È vuoto Metodo di estensione nell'elenco dei numeri, che restituisce vero poiché l'elenco è vuoto. Inizialmente, stampiamo il risultato sulla console usando la funzione "WriteLine ()" in modo da vedere l'output "L'elenco è vuoto" Quando esegui questo programma:
Conclusione
I metodi di estensione sono una delle caratteristiche più utili di C# che consente ai programmatori di estendere i tipi esistenti con nuove funzionalità senza modificare il loro codice originale. I metodi di estensione sono definiti in una classe statica e usano il "Questo" parola chiave seguita dal tipo esteso per indicare che sono metodi di estensione. In questo articolo, abbiamo visto tre esempi di metodi di estensione che estendono le classi di stringa, intero e iliste.