public IAsyncResult BeginLoadMap(AsyncCallback callback, Stream mapStream, object state) { //Create AsyncOperation loadMapOperation = AsyncOperationManager.CreateOperation(state); LoadMapFromStreamWorker worker = new LoadMapFromStreamWorker(LoadMap); return(worker.BeginInvoke(mapStream, callback, worker)); }
public void EndLoadMap(IAsyncResult ar) { //Get Worker... if (ar.AsyncState is LoadMapFromFileWorker) { //End LoadMapFromFileWorker fileLoadWorker = (LoadMapFromFileWorker)ar.AsyncState; fileLoadWorker.EndInvoke(ar); } else if (ar.AsyncState is LoadMapFromStreamWorker) { //End LoadMapFromStreamWorker streamLoadWorker = (LoadMapFromStreamWorker)ar.AsyncState; streamLoadWorker.EndInvoke(ar); } }