考虑下面的代码(为了这个测试的目的,它不做任何有特殊用途的事情--它只是为了演示发生的错误)
Dictionary<string, dynamic> d = new Dictionary<string, dynamic>()
{
{ "a", 123 },
{ "b", Guid.NewGuid() },
{ "c", "Hello World" }
};
d.Where(o => o.Key.Contains("b")).ForEach(i => Console.WriteLine(i.Value));
//retuns the Guid value, as expected.
我想使用继承来包装Dictionary<string, dynamic>
:
public class CustomDictionary : Dictionary<string, dynamic>
{
}
下面是上面使用这个派生类的示例:
CustomDictionary d = new CustomDictionary()
{
{ "a", 123 },
{ "b", Guid.NewGuid() },
{ "c", "Hello World" }
};
d.Where(o => o.Key.Contains("b")).ForEach(i => Console.WriteLine(i.Value));
这种情况发生了..。
有没有什么想法导致这个问题,或者如何解决它?
https://stackoverflow.com/questions/27514856
复制相似问题