/// <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); }