我将举一个 .NET 的例子。
ConcurrentDictionary<TKey, TValue> : IDictionary<TKey, TValue>, IDictionary
在这里你可以看到 ConcurrentDictionary 实现字典接口。但是我无法Add<TKey,TValue>
从 ConcurrentDictionary 实例访问方法。这怎么可能?
IDictionary<int, int> dictionary = new ConcurrentDictionary<int, int>();
dictionary.Add(3, 3); //no errors
ConcurrentDictionary<int, int> concurrentDictionary = new ConcurrentDictionary<int, int>();
concurrentDictionary.Add(3, 3); //Cannot access private method here
更新:
我知道如何访问它,但我不知道显式实现接口可以允许将访问修饰符更改为内部。它仍然不允许将其设为私有。这个对吗?关于该部分的更详细的解释会有所帮助。另外我想知道一些有效的用例。