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はnullになります。
JSで独自のクラスのC#イベントをサブスクライブするための実用的な構文は何ですか。何か案は?
編集:ガンビットのアドバイスの後:
App.myclass.addEventListener("nowevent", function onReady() {
console.error("hello");
});
イベントポインタはもうnullではありませんが、イベントを発生させると、次のようになります。
タイプ「System.InvalidCastException」の最初のチャンスの例外がEngine.winmdで発生しました