Я пытаюсь инициализировать объекты в программе C # таким образом, чтобы свойства и значения были известны только во время выполнения. Я использую пакет nuget, который требует, чтобы определение класса было известно для его правильной работы, и я пытаюсь создать этот класс программным способом.
На основании этого сообщения, которое я только что нашел, похоже, что использование ExpandoObject - это шаг в правильном направлении, поскольку мы может устанавливать свойства во время выполнения, однако эти свойства все еще известны априори и жестко запрограммированы в программе. Чего я хочу добиться, так это иметь список произвольно многих свойств [«a», «b», «c», «d», «e», ...] и иметь возможность устанавливать их как свойства в новый экземпляр объекта следующим образом:
class Program
{
static void Main(string[] args)
{
dynamic chano = new ExpandoObject();
string test = "a";
chano[test] = "Free the Carter, people need the Carter";
Console.WriteLine(chano[test]); //want to console "Free the Carter...", of course this fails in compilation
Console.ReadKey();
}
}
Однако, конечно, мы сталкиваемся с проблемой, что мы не можем индексировать объекты с помощью []. Существуют ли какие-либо аналогичные типы динамических объектов, которые позволят мне достичь нужной мне функциональности?
Dictionary<string,object>
? - person René Vogt   schedule 05.08.2016