我有这个问题在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