void SelectEventMethod() { for (; ;) { if (isExit) { break; } else { if (queue.Count == 0) { lock (obj) { Monitor.Wait(obj); } } else { ParkingLotStatusEventArgs e = null; lock (obj) { e = queue.Dequeue(); } SelectedInfoEventMethod(e); } } } }
void SelectEventMethod() { for (; ;) { //SelectedInfoEventMethod(new ParkingLotStatusEventArgs(true, "", 1, new bool[0], DateTime.Now, DateTime.Now)); //Thread.Sleep(2000); //continue; if (isExit) { break; } else { if (queue.Count == 0) { lock (obj) { Monitor.Wait(obj); } } else { ParkingLotStatusEventArgs e = null; lock (obj) { e = queue.Dequeue(); } SelectedInfoEventMethod(e); } } } }
/// <summary> /// 查询事件触发的方法 /// </summary> /// <param name="e"></param> protected void SelectedInfoEventMethod(ParkingLotStatusEventArgs e) { if (OnSelected != null) { OnSelected(this, e); } }
public void UpdataStatus(DateTime sendTime, DateTime receTime, bool isSuccess, RtuRecePackage recePackage) { bool[] status = new bool[10]; if (isSuccess) { int result = (recePackage.ReceBytes[3] << 8) + recePackage.ReceBytes[4]; for (int i = 0; i < 10; i++) { int temp = ((1 << i) & result); if (temp != 0) { status[i] = true; } else { status[i] = false; } } } ParkingLotStatusEventArgs info = new ParkingLotStatusEventArgs(isSuccess, descriptor.IpAddress, descriptor.Port, status, sendTime, receTime); SelectedInfoEventMethod(info); }