Est-il possible d'utiliser des objets IronPython et fonctions (compilées dans un ensemble) à partir du code C #?

StackOverflow https://stackoverflow.com/questions/3795914

Question

IronPython.net documentation dit le MSIL en est l'assemblage non conforme CLS, mais est-il une solution?

Était-ce utile?

La solution

Ce fut en partie une motivation pour ajouter le type de dynamic à C # 4.0. Le plus gros problème est que les déclarations IronPython ne comprend pas d'informations de type, ce qui le rend difficile à utiliser à partir de C #. Le mot-clé dynamic ajoute le support pour ces objets typés dynamiquement à C # 4.0. Voir par exemple:

  • toujours possible . Vous aurez juste à écrire quelque chose comme foo.Invoke("Bar", 42) au lieu de simplement écrire foo.Bar(42).

Autres conseils

Je tape sur mon téléphone afin que s'il vous plaît pardonnez les erreurs stupides. Pour utiliser l'assembly compilé, assurez-vous compilez avec clr.CompileModules, PAS pyc.py. Ensuite, dans votre C # appeler la méthode LoadAssembly sur votre objet Python ScriptEngine. Le module peut alors être importé en appelant la méthode de ImportModule sur votre ScriptEngine. De là, si vous pouvez profiter du mot-clé dynamique, faites-le. Sinon, vous serez coincé avec la ficelle magique lourds appels à GetVariable. Notez également que vous devrez fournir la bibliothèque standard à votre Assemblée Python compilé sous une forme ou une autre.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top