Visual Studio代码中用于自定义.net dll的Intellisense

时间:2019-05-01 06:15:59

标签: c# python visual-studio-code intellisense ironpython

我正在尝试使用IronPython从C#控制台应用程序调用python脚本(SamplePython.py)。当我运行控制台应用程序时,脚本成功执行,并且结果符合预期。但是我不确定如何为脚本中使用的自定义.net类型添加智能感知和自动完成功能。

我尝试导入python clr并调用clr.AddReference(“ customdll”),但它没有提供任何寻求智能感知的功能。

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

在Visual Studio代码中编写python脚本时,我希望IDE键入pythonTestType时将列出“ TestProp”,然后将点运算符作为智能感知的一部分,就像我获取其他python内置数据类型一样。

0 个答案:

没有答案