Я хочу иметь возможность доступа к значениям свойств в объекте, таком как словарь, используя имя свойства в качестве ключа.Мне все равно, возвращаются ли значения в виде объектов, поэтому Dictionary<string, object>
хорошо.Это предполагаемое использование:
object person = new { Name: "Bob", Age: 45 };
IDictionary<string, object> lookup = new PropertyDictionary(person);
string name = (string)person["Name"];
person["Age"] = (int)person["Age"] + 1; // potentially editable
Я собирался реализовать свой собственный класс для этого, но потом я начал замечать, что классы, такие как DynamicObject, реализуют интерфейс IDictionary, что наводит на мысль, что это уже где-то делается для меня.
То, что я хочу, похоже на функциональность, используемую ASP.NET MVC, которая позволяет использовать анонимные типы для установки атрибутов тега HTML.У меня есть много классов, которые используют словари в качестве источников данных, но большую часть времени я должен иметь возможность передавать и объекты.
Так как это для универсальной библиотеки Я думал, что создам повторно используемый класс, который просто украшает объект с помощью интерфейса IDictionary.Это спасет меня от взрыва перегрузок.