A volte ho una funzione che accetta un parametro System.Type
, come:
public void Foo(Type type) {
// do something with "type"
...
}
Questo deve essere chiamato così:
Foo(typeof(MyType));
Vorrei riscriverlo in questo modo:
public void Foo<T>() {
var type = typeof(T);
// do something with "type"
...
}
In questo modo, i miei chiamanti non devono specificare l'operatore "typeof" ogni volta che chiamano il mio metodo:
Foo<MyType>();
È OK o è un abuso di tipi generici?