Рассмотрим следующий код (для этого теста он не делает ничего особого использования - он просто демонстрирует возникшую ошибку)
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));
Это происходит...
Любые идеи о том, что вызывает проблему, или как ее решить?