REM IronPython初めて使う
REM VBのソースをコンパイルする際使用したIDEはMonoDevelop
REM まぁVisual StudioとSharpDevelop/MonoDevelopはMS OfficeとLibreOfficeみたいなもんだと思ってくれれば(以前誰かにわからん言われたorz)
REM なお、普通に作ると、プロジェクト名がデフォルトネームスペースに設定されたりするので消すのを忘れないようにしました。
REM ビルドは.NET 4.0向け
Option Explicit On
Option Strict On
Option Compare Binary
Option Infer Off
Imports System
Public Class Test2
Public Sub Test()
System.Console.WriteLine("Hello World")
End Sub
End Class
===================
作ったアセンブリ(Test2.dll)をD:\に配置。
で、使用したのはIronPython 2.7.2.1のzip版に含まれるインタープリタ(ipy.exe)。
で、正解は、コンストラクタでクラス名を引数に与えてインスタンスを生成した上で、
そのインスタンスから引数なしで呼び出すか(こっちの方が俺好み)、
import os
import clr
import sys
sys.path.append("D:\\")
clr.AddReferenceToFile("Test2.dll")
import Test2
a = Test2.__new__(Test2)
a.Test()
===================
あるいは、型名から呼び出して第一引数にオブジェクトを渡すか。
import os
import clr
import sys
sys.path.append("D:\\")
clr.AddReferenceToFile("Test2.dll")
import Test2
a = Test2.__new__(Test2)
Test2.Test(a)
一応そのへんのことは
http://readthedocs.org/docs/ironpython-test/en/latest/reference/datamodel.html#object.__new__http://readthedocs.org/docs/ironpython-test/en/latest/reference/datamodel.html
Class Types
User-defined methods
あたりに書いてあると思う
実際にやってみたら、ともにHello Worldが表示された。
お礼
無事に動作しました。 ありがとうございました。