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);
}