6
votes

Créer des instances de classes IronPython de C #

Je veux créer une instance d'une classe Ironpython de C #, mais mes tentatives actuelles semblent avoir échoué.

Ceci est mon code actuel: P>

class MyClass(object):
    def __init__(self):
        print "this should be called"

Foo.Instantiate(MyClass)


2 commentaires

Dupliqué possible de Instanciation d'une classe Python en C #


Après avoir examiné la source IronPython, la méthode _ init _ est définie comme annulation publique __init __ (objet o) {}. Whoops.


3 Réponses :



10
votes

Ce code fonctionne avec IronPython 2.6.1 xxx

édité selon une question clarifiée xxx


2 commentaires

La chose est que je n'utilise pas Scope.gevariable - Je passe les types directement à C # sous la forme du type C # Type classe, principalement parce que j'ai besoin de Appeler la fonction de toutes sortes de places et la variable pourrait ne pas être nécessairement disponible dans cette portée.


Même si j'ai répondu à ma propre question, je pense toujours que vous méritez d'être la réponse acceptée :)



2
votes

Je pense que j'ai résolu ma propre question - à l'aide de la classe .NET type semble avoir rejeté les informations de type Python.

le remplacer par ironpython.runtime.types.pytthontype fonctionne assez bien.


0 commentaires