public static ISequencerUC TryReThrowException(this ISequencerUC sequencer)
        {
            SequencerRegisterUC register = sequencer as SequencerRegisterUC;

            if (register == null)
            {
                return(sequencer);
            }

            register.ExceptionRegister.TryReThrowException();

            return(sequencer);
        }
        Register <TEnum>(this    ISequencerUC sequencer,
                         ISequencerPointUC <TEnum> sequencerPoint)
            where TEnum : struct
        {
            SequencerRegisterUC register = sequencer as SequencerRegisterUC;

            if (register == null)
            {
                return(sequencer);
            }

            register.ExceptionRegister.TryReThrowException();
            register.Add(sequencerPoint);

            return(sequencer);
        }
Example #3
0
        TestPointAsync <TEnum>(this ISequencerUC sequencer, TEnum registration)
            where TEnum : struct
        {
            SequencerRegisterUC register = sequencer as SequencerRegisterUC;

            if (register == null)
            {
                return(TestPointUC.EmptyCompleted);
            }

            ISequencerExceptionRegister exceptionRegister = register.ExceptionRegister.TryReThrowException();
            ISequencerTaskRegister      taskRegister      = register.TaskRegister;

            ISequencerPointUC <TEnum> seqPoint = register.TryGet(registration);

            return
                (seqPoint?.TestPoint(taskRegister, exceptionRegister) ??
                 TestPointUC.EmptyCompleted
                );
        }