2011-09-13 17 views

回答

8

不是真的,唯一的缺點是我能想到的是,如果你有一個邏輯意圖(超出了期望的參數和返回值),你希望用戶滿意,可能會失去使用泛型代表。

例如:

public delegate void ClearAllValuesDelegate(MyClass X); 

    // ... 

    ClearAllValuesDelegate myDelegate; 

VS:

Action<MyClass> myDelegate; 

在前者中,很明顯的意圖是,動作要清除所有的值在參考(雖然沒有辦法強制執行這當然)。而Action<>只是告訴你需要什麼,而不是其他。就像我說的,這只是一個邏輯上的區別。

但是真的沒有我知道的很大的缺點。大多數情況下,當我們使用Func<>Action<>時,我們只是要求調用者給我們一個只滿足輸入/輸出的目標。

3

的主要區別我之間的區別在於:

enter image description here

和:

enter image description here

顯然,至少有在其指定的參數一些值。

1

恕我直言,這是一個偏好問題,對CLR它是一樣的東西

相關問題