namespace XGame.Framework.Asyncs { public class AwaiterResultable : Awaiter, IAsyncResultable { TResult _Result; public new TResult GetResult() { return _Result; } public override void Completed(IAsync result) { if (result is IAsyncResultable) _Result = (result as IAsyncResultable).GetResult(); base.Completed(result); } } }