-->

如何访问的JavaScript这从ScriptSharp?(How do I access Java

2019-09-29 11:25发布

我试图做到以下几点。

var handler = e => { handle(); item.Unbind("event", this); }
item.Bind("event", handler);

在JavaScript中,这将正常工作,但ScriptSharp取代JavaScript的这个参考与该代码包含类方法的实例。 如何避免这种行为,并得到从拉姆达本身的拉姆达的参考?

Answer 1:

这里是你如何能做到这一点(假设绑定需要委托有行动的签名):

SomeObject item = ...;
Action handler = null;

handler = delegate() {
   // do something ... eg. call Handle();
   item.Unbind("event", handler);
};
item.Bind("event", handler);

此外,看到这样一个问题: 如何写脚本#函数与任何对象,因为这被调用,而不只是在它被定义的类的实例? 对于编写代码的技术,其生成在脚本中的“本”的参考。



文章来源: How do I access JavaScript this from ScriptSharp?
标签: this script#