Есть ли когда-либо причина использовать Type
параметры над дженериков, то есть:Параметры типа против дженериков
// this...
void Foo(Type T);
// ...over this.
void Foo<T>();
Мне кажется, что дженерики являются гораздо более полезным в том, что они обеспечивают общие ограничения и с C# 4.0, совпадение и совпадение, а также, возможно, некоторые другие особенности, о которых я не знаю. Мне кажется, что общая форма имеет все плюсы и никаких негативов, которые первая не разделяет. Итак, есть ли случаи, когда вы использовали бы первый вместо этого?
Это также много более дорогое и медленное делать с обобщениями (все эти отражения вызовов не могут быть довольно) –
Абсолютно - хотя боль обычно более важна для меня :) –