2011-04-19 89 views

回答

5

爲了使它安全,我會想。 Equals()將一個對象作爲參數,因此如果您傳入錯誤類型的對象直到您運行它,您將看不到錯誤。

+0

謝謝大家的幫助 – flockofcode 2011-04-20 19:08:02

3

其中一個原因是,您可以要求班級與所需類型相等,而不一定是該類型。例如。

public void MyClass<T> where T : IEquatable<Foo> 
{ 
    private static readonly Foo SpecialFoo = Foo.SpecialFoo; 

    public void MyMethodThatProcessesTs(T theT) 
    { 
     if (theT.Equals(SpecialFoo)) 
     { 
      // process theT. 
     } 
    } 
} 
3

除了@Bala R說什麼之外,它還避免了在結構之間進行自定義相等性檢查時的裝箱。

相關問題