【问题标题】:Limiting the capabilities of a variable限制变量的能力
【发布时间】:2015-03-19 13:34:57
【问题描述】:

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

我想知道的是:当我获得来自给定名称空间的对象时,我如何告诉 IronPython 哪些方法可以从脚本中调用,因为我不想公开它的全部功能命名空间?

tl;dr :假设我有对象 A 暴露在我的 python 脚本中创建。我怎样才能限制 A 可以做的事情而无需明确地将其移动到新类型?

【问题讨论】:

    标签: ironpython


    【解决方案1】:

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

    在为此类对象定义 API 之前,还要考虑您希望向用户公开的流程。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-06-04
      • 2019-10-01
      • 2023-03-31
      • 2012-06-12
      • 1970-01-01
      • 1970-01-01
      • 2012-07-26
      • 1970-01-01
      相关资源
      最近更新 更多