我尝试使用InvokeSelf for silverlight与html通信: InvokeSelf可以在调用时将object []作为参数:
ScriptObject Myjs;
ScriptObject obj = Myjs.InvokeSelf(new object[] { element }) as ScriptObject;
然后我想跟匿名委托打电话:
Object obj;
obj = InvokeSelf(new object[] { element, delegate { OnUriLoaded(reference); } });
我得到了错误说: 无法将匿名方法转换为“对象”类型,因为它不是委托类型
如何解决此问题?
答案 0 :(得分:1)
问题是您无法为object
分配匿名方法。这是因为C#编译器不知道应该使用什么委托类型。您可以通过显式创建委托来修复代码。由于这是Silverlight,您还可以使用更简洁的lambda表达式表示法:
obj = InvokeSelf(new object[]
{ element, new Action(() => OnUriLoaded(reference)) });
那就是说,我不确定是否可以将委托传递给JavaScript,但是你应该能够立即编译代码并尝试。