Mercurial > pub > ImplabNet
view Implab.Fx/ControlBoundPromise.cs @ 207:558f34b2fb50 v2
added Safe.DispatchEvent() a legacy equivalent for '?.Invoke()'
added Safe.Dispose(IEnumerable)
added PromiseExtensions.CancellationPoint to add a cancellation point to the chain of promises
added IPromise<T> PromiseExtensions.Then<T>(this IPromise<T> that, Action<T> success) overloads
added PromiseExtensions.Error() overloads to handle a error or(and) a cancellation
author | cin |
---|---|
date | Wed, 09 Nov 2016 12:03:22 +0300 |
parents | 97fbbf816844 |
children |
line wrap: on
line source
using System.Windows.Forms; using System; namespace Implab.Fx { public class ControlBoundPromise<T> : Promise<T> { readonly Control m_target; public ControlBoundPromise(Control target) { Safe.ArgumentNotNull(target, "target"); m_target = target; } protected override void SignalHandler(HandlerDescriptor handler, int signal) { if (m_target.InvokeRequired) m_target.BeginInvoke(new Action<Promise<T>.HandlerDescriptor, int>(base.SignalHandler), handler, signal); else base.SignalHandler(handler, signal); } } }