Example #1
0
 /// <summary>
 /// <see cref="AsyncAction{T1}"/>以外の形式でイベントを購読する。
 /// </summary>
 public static IDisposable Subscribe <T>(this IAsyncEvent <T> e, Action <T> handler) => e.Subscribe((_1, args) => { handler(args); return(Task.CompletedTask); });
Example #2
0
        /// <summary>
        /// キャンセルされるまでの間イベントを購読する。
        /// </summary>
        public static void SubscribeUntil <T>(this IAsyncEvent <T> e, CancellationToken ct, Func <Task> handler)
        {
            var d = e.Subscribe(handler);

            ct.Register(d.Dispose);
        }
Example #3
0
 /// <summary>
 /// <see cref="AsyncAction{T1}"/>以外の形式でイベントを購読する。
 /// </summary>
 public static IDisposable Subscribe <T>(this IAsyncEvent <T> e, Func <Task> handler) => e.Subscribe((_1, _2) => handler());