//读写EEPROM完成后的回调事件 private void ReadWriteCallBack(IAsyncResult iAr) { if (OnReadWriteFinished != null) { AsyncResult ar = (AsyncResult)iAr; int P = (int)iAr.AsyncState; //int p = Convert.ToInt16(iAr.AsyncState); byte[] Value; bool IsOk; if (P == 0) { Value = new byte[1]; WriteParamWorker temp = (WriteParamWorker)ar.AsyncDelegate; //获取委托的引用 IsOk = temp.EndInvoke(iAr); //获取委托执行后的结果(执行是否成功) } else { ReadParamWorker temp = (ReadParamWorker)ar.AsyncDelegate; IsOk = temp.EndInvoke(iAr); //获取委托执行后的结果(执行是否成功) Value = new byte[_DataBuff.Length]; Value = System.Text.Encoding.Unicode.GetBytes(_DataBuff.ToString()); } OnReadWriteFinished(IsOk, P, Value); //通知 } }