私はこの問題をC#のメソッドで持っています。私は、呼び出されたDLLから関数を呼び出すメソッドを作ったPhone.GetLampMode();
今Phone.GetLampMode
は何も返しません。データは 'onGetLampModeResponse
'というイベントで返されます。 onGetLampModeResponseイベントからデータを取得するまで私のメソッドで待つことができる方法はありますか?イベントがキャプチャされるまで内部メソッドを待つ
public bool checkLamp(int iLamp)
{
Phone.ButtonIDConstants btn = new Phone.ButtonIDConstants();
btn = Phone.ButtonIDConstants.BUTTON_1;
btn += iLamp;
Phone.GetLampMode(btn, null);
return true;
}
private void Phone_OnGetLampModeResponse(object sender, Phone.GetLampModeResponseArgs e)
{
var test = e.getLampModeList[0].getLampMode.ToString();
}
GetLampModeの2番目のパラメータは何ですか?私に推測させてください:自分で定義できるオブジェクト?そしてそのオブジェクトは、イベントハンドラの 'sender'か' e'の内部ですか?編集:そうです、それはuserStateと呼ばれています。コールバック関数の 'e'変数の中でこのuserStateを取り出すことができます。 – sinni800
私は 'OnGetLampModeResponse'によって' true'に設定され、 'checkLamp'によってループでチェックされるグローバルな' bool'を定義することによって、醜い解決策を考えることができます。 –
@JohnWillemseこれはかなり醜いので、状態変数をイベントに渡すという概念が存在するので、実行すべきではありません。 – sinni800