Я пытаюсь вызвать скрипт python (SamplePython.py) из консольного приложения C #, используя IronPython.Когда я запускаю консольное приложение, скрипт выполняется успешно, и результаты ожидаются.Однако я не уверен, как я могу добавить intellisense и автозаполнение для пользовательских типов .net, используемых в моем сценарии.
Я попытался импортировать python clr и вызвать clr.AddReference ("customdll"), но он не предоставиллюбой запрос на intellisense.
Фрагмент кода C # кода консоли
ScriptSource pythonScript;
ObjectOperations objectOperations;
ScriptScope scope;
ScriptEngine pythonEngine = Python.CreateEngine();
scope = pythonEngine.CreateScope();
objectOperations = pythonEngine.Operations;
pythonScript = pythonEngine.CreateScriptSourceFromFile(@"<Path to script File>/SamplePython.py");
pythonScript.Execute(scope);
dynamic pythonMethod = scope.GetVariable("PythonMethod");
PythonTestType pythonTestType = new PythonTestType();
pythonTestType.TestProp = 8;
int x = pythonMethod(pythonTestType);
Фрагмент кода пользовательского типа C #.
namespace PythonTestLibrary
{
public class PythonTestType
{
public int TestProp { get; set; }
}
}
Фрагмент кода скрипта Python.
def PythonMethod(pythonTestType):
return pythonTestType.TestProp
Когда я пишу свой скрипт на Python в коде Visual Studio, я ожидаю, что среда IDE перечислит «TestProp», когда я наберу pythonTestType, а затем оператор точки как часть intellisense, как я получаю для других встроенных типов данных Python.