IronPython 中的对象初始化

Object initialization in IronPython

嗯,需要将 c# 代码翻译成 IronPython。当前的问题是找到像这样翻译初始化的最佳方法,例如:

case SomeObject.FieldCase: new SomeObject { Width = 600, Height = 400 }.Export(model_, stream); break;

你有什么想法让它变得相似吗?我只对对象初始化代码感兴趣,case 语句被翻译了。对于翻译,我们使用 Roslyn,因此我们可以获得所有语法节点。在其他情况下,我会这样做:

model = new Model; model.SomeField = field; model.SomeField2 = field2;

但是这种方式开发起来不是那么容易

找到。 IronPython 可以使用 c# 类,使用导入和更改初始化程序调用 value= new SomeObject { Name = name }value = SomeObject(Name = name)