2012-06-03 7 views
5

¿Hay alguna manera de hacer que una clase esté disponible para los scripts de IronPython para que pueda crear objetos dentro del código?Creando instancias de clases de C# personalizadas de IronPython

Por ejemplo, si tengo una clase que yo quiero ser capaz de crear una instancia de la escritura llamada MiClase definidos en el código C#, así:

public class MyClass 
{ 
    string text; 

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

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

¿Cómo se puede hacer esto en la secuencia de comandos de Python?

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

¡Gracias!

Respuesta

7

Suponiendo MiClase está en MyAssembly.dll:

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

Gracias! Tendré que hacer algo de magia para que funcione, pero lo hará :) – jmegaffin

Cuestiones relacionadas