C # скриптинг (python) - PullRequest
       5

C # скриптинг (python)

4 голосов
/ 04 декабря 2010

Существует ли способ взаимодействия в C# и Python?

Я знаю и использовал IronPython (очевидно, это стало очень мило с ключевым словом dynamic),и он позволяет интерпретировать Python скрипты внутри C# приложения.

Но я хочу, чтобы этот Python скрипт имел доступ к классам и методам C #.Я знаю, например, что это может быть реализовано с использованием boost::python и C++, но как мне (если это возможно ) сделать это с C#?

Спасибо.

1 Ответ

6 голосов
/ 04 декабря 2010

Ну, вы могли бы скомпилировать свой код C # в DLL, используя csc и , используя ctypes для доступа к DLL из вашего скрипта , но если вы можете использоватьIronPython, тогда я бы пошел по этому пути.

Использование модулей C # от IronPython так же просто, как вызов clr.AddReference.Например, вот скрипт, который заставит ваш компьютер разговаривать с вами (взят из IronPython Cookbook )

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

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