예제 #1
0
 /// <summary>
 /// FOR INTERNAL USE ONLY!
 /// </summary>
 internal CancelationRegistration RegisterInternal(Internal.ICancelDelegate listener)
 {
     if (CanBeCanceled)
     {
         if (!_ref.IsCanceled)
         {
             return(new CancelationRegistration(_ref, listener));
         }
         listener.Invoke(_ref.ValueContainer);
     }
     return(default(CancelationRegistration));
 }
 /// <summary>
 /// FOR INTERNAL USE ONLY!
 /// </summary>
 internal CancelationRegistration(Internal.CancelationRef cancelationRef, Internal.ICancelDelegate cancelDelegate)
 {
     _ref   = cancelationRef;
     _id    = _ref.TokenId;
     _order = _ref.Register(cancelDelegate);
 }