Я здесь схожу. Вероятно, потому, что я пропустил какое-то правило, но если так, то, пожалуйста, скажите мне.
Я пытаюсь создать Dictionary
с строкой для ключа и анонимным объектом в качестве значения. Или, на самом деле, я не просто пытаюсь, я это делаю. Но когда я хочу изменить конкретный параметр в объекте, он идет не так.
Я объявляю словарь следующим образом:
var areas = new Dictionary<string, object>
{
{"Key1", new {name = "Name1", today = 0, all = 0}},
{"Key2", new {name = "Name2", today = 0, all = 0}},
...
}
И тогда я предполагаю, что смогу это сделать:
foreach (var area in areas.Keys.ToArray())
{
var areaname = areas[area].name;
}
но Visual Studio не соглашается и отказывается компилировать. Если я пишу это, все работает так, как я думаю, но это на самом деле не помогает мне, это просто делает меня более расстроенным.
var areaname = new
{
name = "Nametest", today = 0, all = 0
};
var testname = areaname.name;
Что я делаю не так? Почему это не работает для меня? Это просто невозможно сделать?
Спасибо за все ваши ответы, они, конечно, немного разобрались! Я думаю, что, возможно, я запутал объект типа с идеей объектов, то есть классов, в С# из-за разочарования. Я переосмыслил весь дизайн и, возможно, сделаю что-то совершенно другое, вместо того, чтобы использовать злые или грязные решения. Хотя интересно, я не думаю, что мои отношения с С# еще не развились!