我有這個問題在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的第二個參數?讓我猜猜:你可以定義自己的對象?那麼這個對象是事件處理程序中的'sender'還是'e'中的?編輯:是的,它被稱爲userState。您可以在回調函數中的'e'變量中檢索此userState。 – sinni800 2013-03-06 09:00:41
我可以通過定義由'OnGetLampModeResponse'設置爲TRUE;並通過'checkLamp'循環檢查全局'bool'想到一個醜陋的解決方案。 – 2013-03-06 09:01:40
@JohnWillemse這是相當醜陋的,不應該這樣做,因爲把狀態變量交給事件存在。 – sinni800 2013-03-06 09:03:59