I generics sono una delle più apprezzate novità del .NET Framework 2.0 . In sintesi, questa nuova funzionalità, da la possibilità specializzare un tipo sulla base di come esso viene costruito.
Esempio facile facile:
1 class MyClass<T>{2 public void MyMethod(T var){3 //Implemetazione4 }5 }
Il problema che mi sono posto oggi è relativo alla possibilità di effettuare overload di metodi Generici.Altro esempio per comprendere meglio:
1 class MyTest<K, V> {2 public void MyTestA(K a) {3 //Implementazione del metodo4 }5 6 public void MyTestA(V a) {7 //Implementazione del metodo8 }9 }
La classe soprariportata accetta 2 type parameters diversi e contiene un metodo MyTestA che usa K, ed un overload che usa V.Usiamo questa classe:
1 MyTest<string, int> test = new MyTest<string, int>();2 test.MyTestA("Ciao");3 test.MyTestA(10);
In questo caso, i type parameters sono di tipo diverso (string ed int) rispettivamente associati a K e V. Se compiliamo, non abbiamo nessun problema...