Как сочетать интерфейс на C# с кодом на Python?

Рейтинг: 0Ответов: 1Опубликовано: 18.01.2023

Готовим проект для универа. Задумка заключается в том, что пишем интерфейс на C# и алгоритм шифровщика на пайтоне но незнаем как вшить Python в интерфейс. Чтобы каждая кнопка выполняла свою функцию и т.д.

Ответы

▲ 3Принят

Для этих целей вы можете использовать IronPython:

dotnet add package IronPython

либо через менеджер пакетов в Visual Studio/Rider

Пример кода:

using IronPython.Hosting;
using Microsoft.Scripting.Hosting;

int y = 22;

ScriptEngine engine = Python.CreateEngine();
ScriptScope scope = engine.CreateScope();
scope.SetVariable("y", y);
engine.ExecuteFile("hello.py", scope);
dynamic x = scope.GetVariable("x");
dynamic z = scope.GetVariable("z");
Console.WriteLine($"{x} + {y} = {z}");