远离主要构造者

Dav*_*fer 11 c# roslyn c#-6.0 primary-constructor

Visual Studio 2013的C#6预览版支持主要构造函数,该团队已决定不会将其纳入最终版本.不幸的是,我的团队使用主要构造函数实现了200多个类.

我们现在正在寻找最简单的迁移源代码的途径.因为这是一次性的事情,一个神奇的正则表达式替换字符串或hacky解析器将起作用.

在我花了很多时间写这样一个野兽之前,那里有没有人已经做过这个或知道更好的方法?

Jon*_*eet 6

正如我在评论建议,你可以使用的版本罗斯林的哪个知道主构造函数的代码解析成语法树,然后修改语法树使用一个"正常"的,而不是构造函数.您还需要将使用主构造函数参数的所有初始化程序放入新的构造函数中.

我怀疑编写代码会花费至少两三个小时,可能更多 - 而我可以在相同的时间内手动完成相当多的课程.自动化很棒,但有时最快的解决方案就是手工完成......即使是200个类也可以更快地手动完成,你绝对可以在多个人之间并行化工作.