Example #1
0
        //读写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);  //通知
            }
        }