我有一个应用程序,可以将某些c#对象暴露给嵌入式IronPython解释器,如下所示:
using IronPython.Hosting;
namespace ironpy
{
public class Foo
{
public void bar(string message)
{
System.Console.WriteLine(message);
}
}
class Program
{
static void Main(string[] args)
{
var engine = Python.CreateEngine();
var scope = engine.CreateScope();
var test = new Foo();
scope.SetVariable("foo", test);
string code = "foo.bar('Hello')";
engine.Execute(code, scope);
}
}
}
实际上,python源代码来自运行时加载的文本文件。
在VSCode或其他编辑器中编辑这样的源文件时,提供代码完成功能的语言服务器显然不知道将要使用的功能。因此,您无需执行任何代码完成操作,也不会到处出现烦人的错误代码。
是否可以为其中一种常用语言服务器编写某种插件/提示/启动文件,以告诉他们有关导出的C#API的信息,以便在编辑python源文件时完成工作代码?
答案 0 :(得分:0)
同时,我找到了解决问题的方法:IronPython存根文件
答案 1 :(得分:0)
我认为,定义.py文件并在其中执行代码是最好的方法。然后您可以执行如下的.py文件;