📢 Nuovo Corso Laravel API disponibile!

Overloading Metodi in C#

Il sovraccarico dei metodi (method overloading) è una tecnica in C# che consente di definire più versioni di un metodo con lo stesso nome, ma con parametri diversi. Questo permette di chiamare lo stesso metodo con diverse combinazioni di parametri, semplificando la gestione di situazioni in cui le azioni da eseguire sono simili ma richiedono input diversi. In questa sezione, esploreremo in dettaglio il concetto di sovraccarico dei metodi e come implementarlo in C#.

Concetto di Sovraccarico dei Metodi

Il sovraccarico dei metodi consente di avere più metodi con lo stesso nome ma con firme di parametro diverse. La firma del parametro include il numero, il tipo e l’ordine dei parametri.

public void StampaInfo(string nome)
{
Console.WriteLine("Nome: " + nome);
}
public void StampaInfo(string nome, int età)
{
Console.WriteLine("Nome: " + nome + ", Età: " + età);
}

Utilizzo del Sovraccarico dei Metodi

Durante la chiamata di un metodo sovraccaricato, il compilatore seleziona automaticamente il metodo corretto in base al numero e al tipo di argomenti passati.

StampaInfo("Alice"); // Chiama il primo metodo
StampaInfo("Bob", 30); // Chiama il secondo metodo

Criteri di Sovraccarico

Durante il sovraccarico dei metodi, il compilatore utilizza i seguenti criteri per determinare quale metodo chiamare:

  1. Il numero di parametri.
  2. Il tipo dei parametri.
  3. L’ordine dei parametri.

Limitazioni del Sovraccarico dei Metodi

I metodi sovraccaricati devono avere firme di parametro univoche. Questo significa che non è sufficiente cambiare solo il tipo di ritorno.

// Questo è un errore perché cambia solo il tipo di ritorno
public int StampaInfo(string nome)
{
// ...
}

Conclusioni

Il sovraccarico dei metodi è una tecnica potente che permette di creare metodi con lo stesso nome ma con parametri diversi. Abbiamo esaminato come definire e utilizzare metodi sovraccaricati, inclusi i criteri utilizzati dal compilatore per selezionare il metodo corretto. Utilizzando questa tecnica, è possibile migliorare la chiarezza del codice e promuovere la riutilizzabilità, consentendo alle vostre applicazioni di gestire situazioni diverse con metodi ben adattati alle specifiche esigenze.