问候,
我看到的关于构造对象代理的大部分信息都假设存在一个定义要代理的成员的类型。我的问题是:我不能有这样的类型。
为了简化问题,我所拥有的是一个将字符串映射到对象的字典。我也有吸气剂和二传手来处理这本词典。
我的目标是在IronPython中为这个getter和setter提供透明访问,就好像它们是类的真正属性一样。例如,python脚本中的以下代码:
x.result = x.input * x.percentage;
...实际上代表了一种类似于宿主语言的东西:
x.SetProperty("result", x.GetProperty("input") * x.GetProperty("percentage"));
此外,这里的'x'由主程序给出。有任何想法吗?请记住,我负担不起创建类型存根...理想情况下,如果以某种方式我可以拦截对脚本语言中特定对象的属性/方法的每次调用到主机程序上,我会很高兴。