【发布时间】:2012-02-05 21:47:38
【问题描述】:
我有一个带有一些实例方法的非静态 C# 类,我需要从 IronPython 脚本中调用它们。目前我正在这样做:
scope.SetVariable("class", instanceOfClass);
在 C# 代码中和
class.SomeMethod(args)
在脚本中。
我想要的是能够调用此类方法而无需每次在脚本中添加class.。每个脚本都有自己的类实例,一个脚本中只使用一个实例。
如果这个类是静态的,解决方案是from ClassName import *,但据我所知,非静态类没有类似的构造。
如何做到这一点?我有一些想法(例如使用反射,或以编程方式在 Python 源代码中的每个调用中添加class.),但它们过于复杂,甚至可能无法实现。
更新:
使用此类 python 代码解决的问题(在实际脚本之前):
def Method1(arg1): # for simple method
class.Method1(arg1)
def Method2(arg = 123): # for default values
class.Method2(arg)
def Method3(*args): # for params
class.Method3(args)
# so on
【问题讨论】:
标签: c# class ironpython