У меня есть метод объекта, который является чем-то вроде фабрики. Вы даете ему тип, он создает экземпляр и делает несколько других вещей. Элегантный способ сделать это (на мой взгляд), как это:Как передать тип метода - аргумент типа vs generics
public T MagicMethod<T>() where T: SomeBaseClass
{
// Magic goes here
}
Но это расстраивает FxCop, кто говорит, что это плохой стиль - я получаю «CA1004: Общие методы должны обеспечить параметр типа» предупреждение. Что-то не в том, чтобы использовать выводы и прочее. Таким образом, единственным способом я могу думать что-то вроде этого:
public SomeBaseClass MagicMethod(Type T)
{
// Same magic goes here
}
Я считаю, что это уступает первому методу по многим счетам, но правило стиля ... В статье MSDN на предупреждение даже говорит что нет причин для его подавления.
Я делаю это правильно, подавляя это предупреждение в конце концов?
Совершенно неправильно ваш вопрос, так что я имею удалил мой ответ. –
В порядке, так как я никогда не видел вашего ответа.:) –