6
我想知道是否有人知道爲什麼在ServiceModel程序集中實現了SynchronizedCollection類<T>。我無法看到程序集名稱和這個(相對)通用類之間的任何連接。爲什麼System.ServiceModel程序集中的SynchronizedCollection <T>?
我想知道是否有人知道爲什麼在ServiceModel程序集中實現了SynchronizedCollection類<T>。我無法看到程序集名稱和這個(相對)通用類之間的任何連接。爲什麼System.ServiceModel程序集中的SynchronizedCollection <T>?
這個類是非常具體的,它的名字甚至可能是誤導 - 它的內部實現確實幾乎爲零,除了在lock (this.sync) {}
塊,這不包裝一些操作(Insert
,Add
,Clear
,IndexOf
等)使其實際上同步(請參閱this article中描述的問題)。
它在ServiceModel
程序集本身中被大量使用,並且可能僅由於某些ServiceModel
類暴露了此類型的公共屬性而被製作爲public
。
所以我的猜測是:它被放到ServiceModel
程序集中,因爲它並不屬於BCL,只是內部ServiceModel
需求的DRYish BCL命名空間擴展。
在這裏通過以下錯誤:「無法找到類型或名稱空間名稱'synchronizedcollection'」。這是有道理的,但微軟的文檔似乎有缺陷,因爲它表示它在System.Collections.Generic中 – nixkuroi 2017-07-30 18:36:15