我在 google 中找到了如何在 Javascript 代码中为 C# 事件实现事件侦听器的示例,但在我的情况下,似乎没有任何效果。
我的 C# 类:
namespace Engine
{
public delegate void EventDelegate();
public sealed class MyClass;
{
public event EventDelegate nowEvent;
public void runJobs()
{
if (nowEvent == null)
{
Debug.WriteLine("What? Nobody subscribed???");
}
}
}
}
Javascript方面:
WinJS.Namespace.define("App", {
myclass: new Engine.MyClass()
});
App.myclass.addEventListener("nowEvent", function onReady() {
console.error("hello");
});
App.myclass.runJobs();
将 onReady 函数附加到 nowEvent 事件并运行 runJobs() 后,MyClass.nowEvent 为空。
在 JS 中订阅自己的类的 C# 事件的工作语法是什么。有任何想法吗?
编辑:在 Gambit 的建议之后:
App.myclass.addEventListener("nowevent", function onReady() {
console.error("hello");
});
事件指针不再为空,但是当我触发事件时,我得到:
Engine.winmd 中发生了“System.InvalidCastException”类型的第一次机会异常