生成基于填充对象的代码

Mar*_*tin 6 .net c# reflection

假设我有以下课程.

public class MyClass {
   public string Data1 { get; set; }
   public MyOtherClass Data2 { get; set; }
   // 50+ other properties...
}

public class MyOtherClass {
   public string OtherData1 { get; set; }
   // More properties
}
Run Code Online (Sandbox Code Playgroud)

有一些代码可以实现该类,并使用所有数据填充它.我想用这个对象进行测试.我可以简单地将结构序列化为XML并稍后重新加载.但是,我真正想要的是在代码中构建整个对象树.换一种说法:

MyClass myClass = new MyClass {
    Data1 = "Hello",
    Data2 = new MyOtherClass {
        OtherData1 = "World",
        // More...
    },
    // More...
}
Run Code Online (Sandbox Code Playgroud)

我可以自己编写所有内容,但由于存在大量属性和子类,因此需要数小时且容易出错.这是我的问题:给定一个对象如何生成填充该对象的代码?

Nik*_*sev 1

我会写一个T4模板。查看一个正在做某事的示例,尽管距离很远,但与您需要的类似。