2013-04-03 57 views
-1

當沒有真正的好處是顯而易見的時,人們會如何看待泛型的使用。下面是一段代碼片段,它與我工作的代碼類似,我試圖確定從泛型的使用中獲得什麼好處。過度使用泛型

public void DoSomething<Request>(Request request) 
    { 

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


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

爲什麼不只是使用Object?

+1

您只需在該示例中使用object。 –

+2

它被稱爲'BuzzWord Compliant' –

+0

[C#:System.Object vs Generics]可能的重複(http://stackoverflow.com/questions/4424030/c-system-object-vs-generics) –

回答

3

引用自:C#: System.Object vs Generics

使用對象==轉換操作和拳擊/值類型的拆箱。 由於這些原因,泛型更快更優雅(沒有 強制轉換)。主要原因,你不會得到「InvalidCastException」 using generic

所以,泛型==速度和編譯時錯誤。對象==運行時 異常,速度較低(有時會降低很多)