2017-02-08 3 views
1

まあ、C#コードをIronPythonに変換する必要があります。現在の問題は、例えば、このような初期化をtraslateするための最良の方法を見つけることです: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;

をしかし、この方法は開発するのは容易ではありません。

+0

インポートおよび変更初期化子の呼び出しを使用して、C#クラスを使用することができ、私は右のあなたがケースと輸出コールだけオブジェクトの構築を気にしないと仮定しているだろうか? SomeObjectを変更したり、ラップすることはできますか? http://stackoverflow.com/a/2466207/468244とhttp://stackoverflow.com/a/17283996/468244を見ましたか?それとも侵入するのですか? –

+0

あなたはそうです、私はオブジェクトの構築についてのみ気にします。 SomeObjectは変更またはラップできません。 Namedtuplesが助けることができると思います。 – ArgorAvest

+0

クラスからメソッドを呼び出す必要があるので、タプルは良い考えではありません。 – ArgorAvest

答えて

2

が見つかりました。 IronPythonのは value= new SomeObject { Name = name }value = SomeObject(Name = name)

関連する問題