Novità per C#
Vediamo adesso qualche novità relativa a C#:
Tipi dinamici (Dynamic Types) – C# supporta un nuovo tipo di dati denominato dynamic. Supponete di avere due semplici classi e che all’interno di ciascuna di esse sia definito un metodo con lo stesso nome:
public class Classe1
{
public int Metodo()
{
return 1;
}
}
public class Classe2
{
public string Metodo ()
{
return "Ciao";
}
}
Il metodo in questione potrebbe essere chiamato nel modo seguente, ritornando cioè un Object:
private Object TestMetodo(int i)
{
if (i > 10)
return new Classe1();
else
return new Classe2();
}
In Visual Studio 2010 è possibile invece effettuare una chiamata al metodo TestMetodo senza conoscere il tipo che verrà restituito:
dynamic temp = TestMetodo (5); Console.WriteLine(temp. Metodo ());In fase di esecuzione il metodo TestMetodo chiama il metodo opportuno sulla base di quello che il compilatore indica essere temp.
Parametri opzionali – Si tratta di una caratteristica presente in VB.NET da tempo e che, nella nuova versione del framework, diventa disponibile anche per C#.
Si tratta della possibilità di inserire nella dichiarazione (signature) dei metodi parametri opzionali:
private string Metodo(string input="prova")In passato per simulare questo comportamento era necessario effettuare più volte l’overload di un determinato metodo e chiamare lo stesso da vari punti del codice con parametri differenti. I parametri opzionali evitano tutto ciò e permettono di ridurre la quantità di codice necessario a gestire situazioni anche complesse.
Argomenti opzionali – Questo aspetto è legato ai suddetti parametri opzionali. Supponete di avere un metodo con parametri opzionali come il seguente:
private void MetodoSpeciale(int i = 1, int j = 2, int k = 3)Se volete passare valori specifici per "j" e "k" ma non per "i" dovreste scrivere qualcosa del genere:
MetodoSpeciale (,5,4)mettendo tante virgole quanti sono i parametri. Con gli argomenti opzionali potrete invece chiamare il metodo nel modo seguente (sfruttando il nome dei parametri):
MetodoSpeciale (j:5,k:4)
| Corso Web Design Disegno di siti Web con HTML, CSS e Dynamic HTML. A partire da 39 €. |