过度使用泛型

时间:2013-04-03 09:01:18

标签: c# .net generics

当没有真正的好处是显而易见的时候,人们如何看待泛型的使用。下面是一个示例代码片段,类似于我处理的代码,我试图确定如果使用泛型有什么好处。

   public void DoSomething<Request>(Request request)
    {

        if (request == null) 
        {
            throw new ArgumentNullException("request");
        }


        if (Request is ISomeInterface)
        {
            DoSomething();
        }
        else
        {
        DoSomethingElse();
        }
    }

为什么你不只是使用Object?

1 个答案:

答案 0 :(得分:3)

引自:C#: System.Object vs Generics

  

使用object == cast操作和装箱/取消装箱值类型。   由于这些原因,仿制药更快更优雅(没有   铸件)。而且 - 主要原因是,你不会得到“InvalidCastException”   使用泛型

     

所以,泛型==速度和编译时错误。对象==运行时   例外,速度较低(有时低一些)