Можно ли использовать автоматически сгенерированный класс в том же прогоне, в котором он генерируется?Я пытаюсь достичь чего-то, что работает как фабрика, но для автоматически сгенерированных классов.Мой сценарий таков:
У меня есть файлы, в которых указано, что могут содержать некоторые результирующие файлы.Эти файлы результатов должны затем использоваться для вычисления статистики или чего-то другого.Теперь я хотел бы изменить данные, когда они будут прочитаны, но поскольку программное обеспечение не знает, какие части записаны в файл, оно не знает, как сохранить данные в файлах внутри.У меня есть читатель и писатель (созданный другом, который ОЧЕНЬ жанровый и слишком громоздкий для использования).Я подумал, что смогу использовать определения для автогенерации классов / структур.
например: классы, которые можно записать, это «A», «B» и «C».Скажите, что у "A" и "B" есть два и три ребенка соответственно.Давайте назовем их A0, A1, B0, B1, B2.
Теперь внутри программы я хотел бы написать:
A aObject = new A0();
aObject.variable1 = 2;
aObject.variable2 = "something";
B bObject = new B1();
bObject.SomeVariable = 42;
bObject.SomeOtherVariable = "someValue";
как называются переменные и какой тип данных представляют, записывается в файл спецификации.Например, в xml это будет что-то вроде:
<A0>
<Variable>
<Name>variable1</Name>
<type>int</type>
</Variable>
<Variable>
<Name>variable2 </Name>
<type>string</type>
</Variable>
</A0>
(то же самое с A1, B0, B1, B2 и т. Д.)
Теперь я хотел бы прочитать файл результатовЯ понимаю, что мне нужно автоматически сгенерировать A0, сгенерировать его, изменить данные (с помощью только что созданного класса / структуры A0) и затем снова записать в файл.
Мое решение для этого состоит в том, чтобы заранее создать все возможные классы / структуры и включить их.Проблема в том, что версии A, B и C изменяются или будут изменяться.
Вся помощь приветствуется:)