2012-06-03 16 views
5

Gibt es eine Möglichkeit, eine Klasse für IronPython-Skripts verfügbar zu machen, damit ich Objekte innerhalb des Codes erstellen kann?Instanzieren benutzerdefinierter C# -Klassen von IronPython

Zum Beispiel, wenn ich eine Klasse, die ich aus dem Skript zu instanziiert in der Lage sein wollen, genannt MyClass in der C# -Code definiert wie folgt:

public class MyClass 
{ 
    string text; 

    public MyClass(string text) 
    { 
     this.text = text; 
    } 

    public void Write() 
    { 
     Console.WriteLine(text); 
    } 
} 

Wie kann ich tun dies in der Python-Skript?

obj = MyClass("Hello, World!") 
obj.Write() 

Vielen Dank!

Antwort

7

Unter der Annahme, MyClass in MyAssembly.dll ist:

import clr 
clr.AddReference('MyAssembly.dll') 
import MyClass 
obj = MyClass("Hello, World!") 
obj.Write() 
+0

Dank! Ich muss etwas Zauberei machen, damit es funktioniert, aber es wird :) – jmegaffin