使用自动生成的代码而不预先生成?

时间:2011-08-30 09:23:45

标签: c# visual-studio auto-generate

是否可以在生成的同一次运行中使用自动生成的类?我正在尝试实现一些工厂作为工厂,但用于自动生成的类。我的情况是这样的:

我有文件指定一些结果文件可以包含的内容。然后应该使用这些结果文件来计算统计数据或其他内容。现在我想在读取这些数据时修改数据,但由于软件不知道哪些部分写入文件,因此它不知道如何在内部保存文件中的数据。我有一个读者和作家(由一位朋友制作,非常类型,使用起来太麻烦)。我想我可以使用这些定义自动生成类/结构。

例如: 可写的类是“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的版本是或将要改变。

感谢所有帮助:)

1 个答案:

答案 0 :(得分:1)

对于我来说,问题的其余部分对我来说并没有多大意义,但要回答你的第一个问题:是的,你可以做到这一点。例如,看看here

关心Gert-Jan