回调

public delegate string Cardelegate();

public class CarClass
{

private Cardelegate myM;

public string GetString()
{
Thread.Sleep(10);

DateTime startime = DateTime.Now.Date;
DateTime endtime = DateTime.Now;
string stime = startime.ToString("yyyy-MM-dd HH:mm:ss");
string etime = endtime.ToString("yyyy-MM-dd HH:mm:ss");

AllGPSCarInfo.IGpsEquipmentServiceService allCar = new KDUMGIS.AllGPSCarInfo.IGpsEquipmentServiceService();
string dd = allCar.OnlineEquInfoForMap();

return dd;
}

public IAsyncResult BeginGetString(AsyncCallback CallBack, System.Object state)
{
myM = new Cardelegate(GetString);
return myM.BeginInvoke(CallBack, this);
}

public string EndGetString(IAsyncResult asyncResult)
{
return myM.EndInvoke(asyncResult);
}
}

 

 

 

 

使用:

CarClass myC = new CarClass();
myC.BeginGetString(new AsyncCallback(this.CarCallBack ), myC);

 

public void CarCallBack(IAsyncResult Ar)
{
CarClass myC = (CarClass)Ar.AsyncState;
GPScarInfo = myC.EndGetString(Ar);
}

posted on 2012-05-16 09:52  pennygiser  阅读(125)  评论(0编辑  收藏  举报