最近我的朋友问过Dictionary<T, V>
ICollection<KeyValuePair<T, V>>
在IDictionary<T,V>
已经继承Dictionary<T, V>
时明确实施了什么?
我意识到我也不知道答案。以下是官方文档的链接:
IDictionary<T,V>
- http://msdn.microsoft.com/en-us/library/xfhwa508(v=vs.110).aspx
{{1}} - http://msdn.microsoft.com/en-us/library/s4ys34ea(v=vs.110).aspx
为什么会这样做?是否有特定的架构模式或其他什么?
答案 0 :(得分:9)
这似乎只是隐含地显示所有已实现的接口的情况。
我做了以下示例来测试它。我的源代码是:
public class Class1 : ITest
{
public void Testing()
{
Console.WriteLine("Test");
}
public void Testing2()
{
Console.WriteLine("Test2");
}
}
public interface ITest : ITest2
{
void Testing();
}
public interface ITest2
{
void Testing2();
}
现在进入Reflector.Net并反编译我得到了这个:
public class Class1 : ITest, ITest2
{
public void Testing()
{
Console.WriteLine("Test");
}
public void Testing2()
{
Console.WriteLine("Test2");
}
}