gpt4 book ai didi

c#-4.0 - 将静态方法添加到 IronPython 范围

转载 作者:行者123 更新时间:2023-12-04 14:35:26 25 4
gpt4 key购买 nike

假设我有以下代码:

public static class Foo
{
public static void Bar() {}
}

在 IronPython 中,我想要:
Bar()

不必包含 Foo 就行了。现在,我知道我可以说:
var Bar = Foo.Bar
Bar()

但我想使用 SetVariable 在我的 C# 代码中将 Bar 添加到 ScriptScope。我怎样才能做到这一点?

最佳答案

创建方法委托(delegate)并设置范围。

public class Program
{
public static void Main(string[] args)
{
var python = Python.CreateEngine();
var scriptScope = python.CreateScope();
scriptScope.SetVariable("Print", new Action<int>(Bar.Print));

python.Execute(
"Print(10)",
scriptScope
);
}

}

public static class Bar
{
public static void Print(int a)
{
Console.WriteLine("Print:{0}", a);
}
}

关于c#-4.0 - 将静态方法添加到 IronPython 范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3636767/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com