2010-12-03 10 views
4

Gibt es einen Weg zur Zusammenarbeit in C# und Python existieren?C# Scripting (Python)

Ich weiß, und wurden verwendet IronPython (natürlich, es wurde wirklich süß mit dem dynamic Schlüsselwort), und es erlaubt Python Skripte innerhalb einer C# Anwendung zu interpretieren.

Aber ich möchte dieses Python Skript Zugriff auf C# Klassen und Methoden. Ich weiß, zum Beispiel kann dies mit und C++ implementiert werden, aber wie sollte ich (wenn es möglich ist) es mit C# tun?

Danke.

+2

Ironpython * sollte * der Lage sein, C# -Klassen zu verwenden, da sie alle .NET – Blam

+0

möglich Duplikat [Wie sind zu verwenden, eine C# dll in IronPython] (http://stackoverflow.com/questions/1200182/how-to-use-ac-dll-in-ironpython) –

Antwort

6

Nun, Sie könnte C# -Code zu einer DLL kompilieren csc und use ctypes to access the DLL from your script verwenden, aber wenn Sie Ironpython verwenden können, dann ist das der Weg, den ich mit gehen würde.

Die Verwendung von C# -Modulen von IronPython ist so einfach wie ein Anruf an clr.AddReference. Zum Beispiel, hier ist ein Skript Ihren Computer mit dir reden zu machen (aus dem IronPython Cookbook)

import clr 
clr.AddReference('System.Speech') 
from System.Speech.Synthesis import SpeechSynthesizer 

spk = SpeechSynthesizer() 
spk.Speak('Hello world!')