Мне нужен словарь, который бы возвращал указанное значение для любого ключа, которого нет в словаре, например:
var dict = new DictWithDefValues("not specified");
dict.Add("bob78", "Smart");
dict.Add("jane17", "Doe");
Assert.AreEqual(dict["xxx"], "not specified");
Расширение System.Collections.Generics.Dictionary и переопределение TryGetValue не работает, потому что TryGetValueне виртуальный
Переопределение словаря с нуля (из IDictionary <,>) - это слишком много усилий.
Метод расширения не позволит мне «инициализировать» словарь значением по умолчанию.Я хочу, чтобы потребитель словаря думал, что ключ есть, а не просто dict.GetOrDefault(key, "not specified");