Ho un metodo di un oggetto che è qualcosa come una fabbrica. Gli dai un tipo, crea un'istanza e fa alcune altre cose. Un modo elegante per farlo (a mio parere) è come questo:Come passare un tipo a un metodo - Tipo argomento vs generici
public T MagicMethod<T>() where T: SomeBaseClass
{
// Magic goes here
}
Ma questo sconvolge FxCop che dice che questo è un cattivo stile - ricevo un "CA1004: metodi generici dovrebbero fornire parametro di tipo" warning. Qualcosa sul non usare l'inferenza e cose del genere. Quindi, l'unico altro modo mi viene in mente è qualcosa di simile:
public SomeBaseClass MagicMethod(Type T)
{
// Same magic goes here
}
Credo che questo sia inferiore al primo metodo su molti conti, ma la regola di stile ... L'articolo di MSDN sul sistema di allarme, dice ancora che non c'è motivo per sopprimerlo.
Sto facendo bene sopprimendo questo avviso, dopo tutto?
completamente frainteso la tua domanda così ho cancellata la mia risposta. –
Va bene, visto che non ho mai visto la tua risposta.:) –