Own class library to use from IronPython

IronPython を日本で検索すると C# から IronPython を使う方法ばかりだ。
GTK+ における PyGtk のように皆が使ってくれるだろうとか考えているのかな?
Windows ユーザーがそんなことをするとでも思って…(略
Windows 用オンラインソフト作者をやれば解るって…

よし。
逆に C# で作った自作クラスライブラリを IronPython から使う方法でもやるか。
需要が微妙であるのは気にしない、どうしてもそうしたい場合もあるヤン!

とりあえず Visual Studio でテキトーなクラスライブラリを作る。

using System;

namespace ClassLibrary1
{
    public class Class1
    {
        public static bool ChangeText(out string s)
        {
            s = "Change";
            return true;
        }
    }
}

classlibrary_build

意図的に out を利用している。
IronPython で ref や out を利用するにはこう書く解説も兼ねている。
下記サイトが色々と参考になることを書いてくれてているよと。

Dark Corners of IronPython

んでソレをコードと同一ディレクトリに置く。
肝心なコード。

# -*- coding: UTF-8 -*-

import clr
clr.AddReference("ClassLibrary1")
import ClassLibrary1

result, value = ClassLibrary1.Class1.ChangeText()
print result
print value

cs_lib.zip

cs_lib_py

という感じで利用できます。
サードパーティ製や自作のライブラリが使いたい場合にコレでなんとかなると思う。