IronPythonで式評価 その1

以前のエントリでは、S2Containerの式評価にはJScript.NETが使われており、拙作のDIコンテナでは、これの代わりにWindowsPowerShellを使うことを試したことがあったが

Expression Evaluation for DIContainer
PowerShellExpression クラスの実装

この時に、NyaRuRuさんにコメントを頂いたこともあり、先日に良い資料を見たことに触発されて、IronPythonDIコンテナの式評価に使えないかと考えてみた。IronPythonのスクリプトエンジンによる式評価をC#から呼び出すのは、JScript.NETやPowerShellと同様に非常に簡単だ。

using System;
using IronPython.Hosting;

namespace IronPythonTest
{
    public class Eval {
        public static void Main(string[] args)
        {
            PythonEngine engine = new PythonEngine();
            string expr = "2+3+4";
            Console.WriteLine("{0} = {1}", expr, engine.Evaluate(expr));
        }
    }
}

これを利用して、DIコンテナの式評価機能を置き換えてみよう。