我剛纔看到一個brand-new video上的Rx框架和一個特定的簽名吸引了我的眼球:Action <Action>是什麼意思?
Scheduler.schedule(this IScheduler, Action<Action>)
在23:55,巴特迪斯說:
的最早版本是行動行動。
如果Action
是一個參數化類型,它又如何在尖括號內再次出現未參數化?難道它不會是無限的,這顯然是不可能的?
我剛纔看到一個brand-new video上的Rx框架和一個特定的簽名吸引了我的眼球:Action <Action>是什麼意思?
Scheduler.schedule(this IScheduler, Action<Action>)
在23:55,巴特迪斯說:
的最早版本是行動行動。
如果Action
是一個參數化類型,它又如何在尖括號內再次出現未參數化?難道它不會是無限的,這顯然是不可能的?
Action
有幾個重載。一個是非通用的,另外一個是一個,兩個,三個等類型參數。假設它們具有不同的名稱,單參數版本被稱爲Action1
,並且零參數(非通用)被稱爲Action0
,那麼示例將是Action1<Action0>
。
@pst在編輯其他人的答案時,請注意將來的更多注意事項您刪除了我的文本的一半 –
我沒有刪除文本如果刪除了文本,它就是SO部分的併發失敗(樂觀併發工作/僱用對於給用戶帶來的不便,我對此表示歉意 – 2011-06-30 04:25:50
顯然過於樂觀 –
默認參數似乎是這裏的簡單解決方案。
什麼......的默認參數? :( – 2011-06-29 18:12:27
行動具有非通用版本與簽名:
public delegate void Action();
所以它是一個用語,使void類型的動作。看起來很有趣,但是完全有效。
Action<T>
描述了一個採用T類型的單個參數的委託。Action
描述了一個不帶參數的委託。
請參閱http://msdn.microsoft.com/en-us/library/system.action.aspx
是否還有非通用的'Action'類型?這將解釋它:) – jalf
aww,現在我覺得很愚蠢我沒有回答這個問題 – jalf
如果你真的想要一種烘焙麪條的類型,可以使用「代理D D(D d)」;一會兒,看看你能做什麼。 –