PythonからC#で書いた.NET Frameworkのクラスライブラリを読みだす
PythonからC#で書いた.NET Frameworkのクラスライブラリを読み出してみた。
C# でクラスライブラリを書いて,Pythonから使う。
まずは,C#のライブラリの記述内容である。いろいろ試してみると,namespaceの名前の付け方には注意が必要なようです。なお,ビルドは.NET Framework 4.0以上で実行環境にあるものより下のバージョンならよさそう(バージョンを混ぜるとどうなるかは気になるが試していない)。ビルドで出てきたdllをpyファイルのある同じフォルダに移動するとPython for .NETのAddReference()で探せるようになる。
using System;
using System.Collections.Generic;
using System.Text;
namespace TestLibraryName // dllの名前と同じだと失敗する
{
public class TestClass
{
public string Test(string a)
{
return "OUT:" + a;
}
}
}
次にPythonの側の記述である。
import clr
clr.AddReference('TestLibrary')
from TestLibraryName import TestClass
testClass = TestClass()
print(testClass.Test('test'))
.NETのstring型はうまく文字列に変換が行われるようである。

