C#からIronPythonを利用してみる
概要
ここでは、C#からIronPythonを利用する例を記載しています。
最終的な目的は、IronPythonをHD.veresion.SDKから利用することにありますが、
IronPythonそのものはC#から利用されることを強く意識した調整がされていると言えます。
まずは、雰囲気を理解するため、IronPythonとC#の連携がいかに自然で強力であるか見てみましょう。
プロジェクトの作成
適当にC#のコンソールアプリケーションを作成してみましょう。
.NET FrameWorkのバージョンは、HD.veresion.SDKと合わせて4.6としておきましょう。
HD.IronPythonMod.dllを参照に加えてください。
合体DLLですので、他のネット上のIronPythonに関する記事とは異なり、「これ1つの参照を追加するだけでOK」です。
C#側
Python側
スクリプト側となるPython側のソースも用意します。
Pythonは「空白やインデント」も文法に含まれますので、注意してください。
C#から呼ばれますので、「script.pyのソースコードの文字コードをutf8」で保存してください。
(テキストエディタなどで実際に確認してください。間違っているとSyntax Errorが出ます)
以上となります。
C#にあるdynamicのおかげで、C#とIronPythonは、「ほぼシームレス」といって良いレベルで
「値」「関数」や「クラスそのもの」「クラスのインスタンス」の送受信が出来ています。