Ser*_*gei 6 .net c# dictionary
最近我的朋友问我为什么在它已经被继承时Dictionary<T, V>显式实现?ICollection<KeyValuePair<T, V>>IDictionary<T,V>
我意识到我也不知道答案.以下是官方文档的链接:
Dictionary<T, V>- http://msdn.microsoft.com/en-us/library/xfhwa508(v=vs.110).aspx
IDictionary<T,V> - http://msdn.microsoft.com/en-us/library/s4ys34ea(v=vs. 110)的.aspx
有没有具体的理由为什么这样做?是否有特定的架构模式或任何东西?
这似乎只是隐式显示所有已实现接口的情况.
我做了以下示例来测试它.我的源代码是:
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();
}
Run Code Online (Sandbox Code Playgroud)
现在进入Reflector.Net并反编译我得到这个:
public class Class1 : ITest, ITest2
{
public void Testing()
{
Console.WriteLine("Test");
}
public void Testing2()
{
Console.WriteLine("Test2");
}
}
Run Code Online (Sandbox Code Playgroud)