【发布时间】:2014-03-17 20:21:33
【问题描述】:
如果我有一个ConcurrentDictionary 并想使用Add() 函数,我需要转换为IDictionary:
var cd = new ConcurrentDictionary<int, int>();
cd.Add(1, 1); // Compile error: does not contain a definition for 'Add'
IDictionary<int, int> id = cd;
id.Add(1, 1); // Works
问题ConcurrentDictionary and IDictionary 告诉我这是因为ConcurrentDictionary 使用私有方法显式实现了IDictionary。
我的问题:为什么ConcurrentDictionary 是这样实现的?隐藏已实现接口的使用有什么好处?
【问题讨论】:
标签: c# concurrency concurrentdictionary