从IronPython实例化自定义C#类

6

有没有办法让一个类在IronPython脚本中可用,以便我可以在代码内创建对象?

例如,如果我有一个想要从脚本中实例化的类,它的名称为MyClass,并在C#代码中定义如下:

public class MyClass
{
    string text;

    public MyClass(string text)
    {
        this.text = text;
    }

    public void Write()
    {
        Console.WriteLine(text);
    }
}

在Python脚本中,我该如何做到这一点?

obj = MyClass("Hello, World!")
obj.Write()

谢谢!

1个回答

8
假设MyClass位于MyAssembly.dll中:
import clr
clr.AddReference('MyAssembly.dll')
import MyClass
obj = MyClass("Hello, World!")
obj.Write()

谢谢!我得施点魔法让它可以运作,但是一定行的 :) - jmegaffin
1
对我来说,clr.AddReference('MyAssembly') 可以正常工作,不需要 .dll - Dzmitry Paliakou
AddReference 对我没用,但 AddReferenceToFileAndPath 有用(我使用了绝对路径)。 如果有一个 exe 文件,可以查看这个页面 如何构建 dll: https://learn.microsoft.com/en-us/dotnet/core/tutorials/library-with-visual-studio - Seabass77

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接