IronPython在C#中将命名空间添加到范围

时间:2017-01-28 15:38:08

标签: c# ironpython

我有以下C#代码

namespace API
{
    public class AutoRcu
    {
        private ...

        public AutoRcu() 
        {
            ...
        }

        public void pressKey(string name)
        {
            ...
        }
    ...
}

我正在运行IronPython代码来运行C#代码。

rcu.pressKey("Menu")

这样可行,但问题是:
我想改变Python API来运行:

API.rcu.pressKey()

而不是

rcu.pressKey()

怎么做?

现在我使用

添加这样的类
pyScope.SetVariable("rcu",AutoRcu)   

功能

1 个答案:

答案 0 :(得分:1)

好吧,你实际上是在创建一个具有属性rcu的对象,它是AutoRcu类的一个实例。只需创建对象。

dynamic api = new ExpandoObject();
api.rcu = new AutoRcu();
pyScope.SetVariable("API", api);