如何从ScriptSharp访问JavaScript?

时间:2012-10-30 23:52:04

标签: this script#

我正在尝试执行以下操作。

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

在JavaScript中,这可以正常工作,但是ScriptSharp通过引用包含该代码的类的实例来替换JavaScript。如何避免这种行为并从lambda本身获取对lambda的引用?

1 个答案:

答案 0 :(得分:0)

这是你如何做到的(假设Bind带有一个Action的签名代表):

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

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

另外,请参阅此问题:How to write a function in script# to be called with any object as this, not just with the instance of the class in which it is defined?了解编写在脚本中生成“this”引用的代码的技术。