限制变量的功能

时间:2015-03-19 13:34:57

标签: ironpython

我通过以下示例开始使用Iron Python: How can I call (Iron)Python code from a C# app?

我想知道的是:我怎么能告诉IronPython每当我从一个给定的命名空间得到一个对象时,应该可以从脚本调用哪些方法,因为我不想暴露完整的命名空间的功能?

tl; dr:假设我的对象A暴露在我的python脚本中创建。如何在不明确将其移动到新类型的情况下限制A可以做什么?

1 个答案:

答案 0 :(得分:1)

使用类型化对象并使用SetVariable将它们公开给脚本引擎。

在定义此类对象上的API之前,请考虑要向用户公开的流程。

this.proxy = new MySpecialType();
engine.GetBuiltinModule().SetVariable("proxy", this.proxy);