コード例 #1
0
        public void Do(SpecialTask task)
        {
            this.DoInternal(token =>
            {
                task.BeforeCancel();

                if (this.IsTokenCancelled(token))
                {
                    task.IfCancelled?.Invoke();
                }
                else
                {
                    task.IfNotCancelled?.Invoke();
                }

                task.Finally?.Invoke();
            });
        }
コード例 #2
0
        public void Do <T>(SpecialTask <T> task)
        {
            this.DoInternal(token =>
            {
                var res = task.BeforeCancelling();

                if (this.IsTokenCancelled(token))
                {
                    task.IfCancelled?.Invoke(res);
                }
                else
                {
                    task.IfNotCancelled?.Invoke(res);
                }

                task.Finally?.Invoke(res);
            });
        }