Sobes.tech
Junior — Middle

Puoi spiegare cosa si intende per metodo di estensione in programmazione?

sobes.tech AI

Risposta dell'AI

Il metodo di estensione in C# è un modo per aggiungere un nuovo metodo a un tipo esistente senza modificare il codice sorgente di quel tipo e senza creare una nuova sottoclasse. Questi metodi sono dichiarati come statici in una classe statica, e il primo parametro del metodo è contrassegnato con la parola chiave this, indicando il tipo a cui si aggiunge il metodo.

È utile quando si desidera ampliare la funzionalità di classi di librerie a cui non si ha accesso per modificarle.

Esempio di metodo di estensione:

public static class StringExtensions
{
    public static bool IsNullOrEmpty(this string str)
    {
        return string.IsNullOrEmpty(str);
    }
}

// Utilizzo:
string s = null;
bool result = s.IsNullOrEmpty();

Qui, IsNullOrEmpty sembra un metodo di istanza della stringa, anche se in realtà è un metodo di estensione statico.