4
我想創建一個方法是這樣的:C#委託詞典添加
private static void AddOrAppend<K>(this Dictionary<K, MulticastDelegate> firstList, K key, MulticastDelegate newFunc)
{
if (!firstList.ContainsKey(key))
{
firstList.Add(key, newFunc);
}
else
{
firstList[key] += newFunc; // this line fails
}
}
但這種失敗,因爲它說,你不能添加多路廣播委託。有什麼我失蹤?我認爲委託關鍵字只是從MulticastDelegate繼承的類的簡寫。
或者你可以在.NET 4.0中使用'ConcurrentDictionary' ... – 2010-07-26 19:52:54
@Steven - 我不知道這是怎麼解決的問題? – 2010-07-26 20:01:25
@Marc:這不是問題的解決方案,它是通過不重新發明輪子完全避免它的一種方法。具體來說,他試圖創建的功能類型已經可用:http://msdn.microsoft.com/en-us/library/ee378675.aspx – 2010-07-26 20:29:16