问题描述
|
我正在考虑可以让我选择两个不同类型的对象,并描述它们之间的映射(也许是视觉上的?),然后允许为诸如浅拷贝和深拷贝之类的操作生成代码,并可能显示不匹配的属性吗?
我知道诸如Automapper之类的运行时解决方案,但没有任何可以帮助我进行代码生成的解决方案。我需要跟上一些大型的,快速发展的类并与它们进行映射。
解决方法
我不知道有什么工具,但是我写了一个宏,对您有很大帮助。
该宏为课程的所有公共成员创建任务。然后,我使用列编辑功能来完成其余的工作。
我的宏生成类似
x.Prop1 = 0;
x.Prop2 = \"Prop2\";
x.Prop3 = 0;
我使用列编辑将右侧更改为\" y ;\"
x.Prop1 = y ;
x.Prop2 = y ;
x.Prop3 = y ;
如果类中的属性名称相同或相似,我将使用列复制将它们粘贴在y
和;
之间,否则我将转到每一行,请按.
并使用intellisense。
您可以在此处找到有关Visual Studio宏编程的大量资源。
但是即使没有宏,列编辑也会有很大帮助。
, 您可以使用T4(文本模板转换工具包)编写自己的用于映射类的模板。
http://msdn.microsoft.com/en-us/library/bb126445.aspx