最終更新日 2024-09-25

C#からIronPythonを利用してみる

概要

ここでは、C#からIronPythonを利用する例を記載しています。

最終的な目的は、IronPythonをUser.veresion.SDKから利用することにありますが、
まずは、雰囲気を理解するため、IronPythonとC#の連携がいかに自然で強力であるか見てみましょう。

プロジェクトの作成

適当にC#のコンソールアプリケーションを作成してみましょう。
.NET FrameWorkのバージョンは、HD.veresion.SDKと合わせて4.6としておきましょう。

HD.IronPythonMod.dllを参照に加えてください。
合体DLLですので、他のネット上のIronPythonに関する記事とは異なり、「これ1つの参照を追加するだけでOK」です。

例1

Python側

スクリプト側となるPython側のソースも用意します。
Pythonは「空白やインデント」も文法に含まれますので、注意してください。

C#から呼ばれますので、「script1.pyのソースコードの文字コードをutf8」で保存してください。
(テキストエディタなどで実際に確認してください。間違っているとSyntax Errorが出ます)

IronPythonのソース:script1.py
# coding: utf-8

def Hello():
  print("こんにちわ")

C#にあるdynamicは強力です。
C#とIronPythonは、「ほぼシームレス」といって良いレベルで
「関数」を実行できています。

例2

例3