Durante la revisione di alcuni codici, ho notato l'opportunità di modificarlo per utilizzare i generici. Il codice (offuscato) ha il seguente aspetto:
public void DoAllTheThings(Type typeOfTarget, object[] possibleTargets)
{
var someProperty = typeOfTarget.GetProperty(possibleTargets[0]);
...
}
Questo codice potrebbe essere sostituito da generici, in questo modo:
public void DoAllTheThings<T>(object[] possibleTargets[0])
{
var someProperty = type(T).getProperty(possibleTargets[0]);
...
}
Nella ricerca dei vantaggi e delle carenze di questo approccio ho trovato un termine chiamato abuso generico . Vedi:
La mia domanda si divide in due parti:
- Ci sono dei vantaggi nel passare a generici come questo? (Prestazioni? Leggibilità?)
- Che cos'è l'abuso generico? E usa un generico ogni volta che c'è un parametro di tipo e un abuso ?