Tengo un método de un objeto que es algo así como una fábrica. Le das un tipo, crea una instancia y hace algunas otras cosas. Una forma elegante de hacerlo (en mi opinión) es la siguiente:Cómo pasar un tipo a un método - Tipo argumento vs genéricos
public T MagicMethod<T>() where T: SomeBaseClass
{
// Magic goes here
}
Pero esto trastorna FxCop que dice que este es un mal estilo - me sale un "CA1004: métodos genéricos deben proporcionar parámetro de tipo" advertencia. Algo sobre no ser para usar la inferencia y esas cosas. Por lo tanto, la única manera en que puedo pensar es algo como esto:
public SomeBaseClass MagicMethod(Type T)
{
// Same magic goes here
}
Creo que éste es inferior al primer método en muchas cuentas, pero la regla de estilo ... El artículo de MSDN sobre la advertencia incluso dice que no hay razón para suprimirlo.
¿Estoy haciendo las cosas bien por la supresión de esta advertencia después de todo?
completamente entendido mal su pregunta así que he borré mi respuesta. –
Está bien, ya que nunca vi su respuesta.:) –