public static WrappedAsyncResultBase<TResult> Cast(IAsyncResult asyncResult, object tag) { if (asyncResult == null) { throw new ArgumentNullException("asyncResult"); } WrappedAsyncResultBase<TResult> castResult = asyncResult as WrappedAsyncResultBase<TResult>; if (castResult != null && Equals(castResult._tag, tag)) { return castResult; } else { throw Error.AsyncCommon_InvalidAsyncResult("asyncResult"); } }
public static TResult End<TResult>(IAsyncResult asyncResult, object tag) { return WrappedAsyncResultBase<TResult>.Cast(asyncResult, tag).End(); }