2012-06-03 10 views
5

C'è un modo per rendere una classe disponibile per gli script IronPython in modo che possa creare oggetti all'interno del codice?Istanziazione di classi C# personalizzate da IronPython

Per esempio, se ho una classe che voglio essere in grado di istanziare dallo script chiamato MyClass definite nel codice C# in questo modo:

public class MyClass 
{ 
    string text; 

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

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

Come posso fare questo nello script Python?

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

Grazie!

risposta

7

Supponendo MyClass è in MyAssembly.dll:

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

Grazie! Dovrò fare un po 'di magia per farlo funzionare, ma sarà :) – jmegaffin