当没有真正的好处是显而易见的时候,人们如何看待泛型的使用。下面是一个示例代码片段,类似于我处理的代码,我试图确定如果使用泛型有什么好处。
public void DoSomething<Request>(Request request)
{
if (request == null)
{
throw new ArgumentNullException("request");
}
if (Request is ISomeInterface)
{
DoSomething();
}
else
{
DoSomethingElse();
}
}
为什么你不只是使用Object?
答案 0 :(得分:3)
引自:C#: System.Object vs Generics
使用object == cast操作和装箱/取消装箱值类型。 由于这些原因,仿制药更快更优雅(没有 铸件)。而且 - 主要原因是,你不会得到“InvalidCastException” 使用泛型
所以,泛型==速度和编译时错误。对象==运行时 例外,速度较低(有时低一些)