示例#1
0
 private protected P_SignalSubscriptionBase(ITrigger trigger, IUnhandledExceptionObserver unhandledExceptionObserver)
 {
     trigger.EnsureNotNull(nameof(trigger));
     unhandledExceptionObserver.EnsureNotNull(nameof(unhandledExceptionObserver));
     //
     _trigger = trigger;
     _unhandledExceptionObserver = unhandledExceptionObserver;
     //
     P_SubscribeToNextSignal();
 }
示例#2
0
 public TriggerSignalProperties(ITrigger trigger, ITriggerSignalProperties source, ArgumentPlaceholder <DateTimeOffset> timestamp = default)
 {
     trigger.EnsureNotNull(nameof(trigger));
     source.EnsureNotNull(nameof(source));
     //
     _trigger                = trigger;
     _source                 = source;
     _timestamp              = timestamp.Substitute(value: source.Timestamp);
     _correlationId          = source.CorrelationId;
     _explicitlyDefinedProps = timestamp.HasExplicitValue ? ExplicitlyDefinedProps.Timestamp : ExplicitlyDefinedProps.None;
 }
示例#3
0
 public TriggerSignalProperties(ITrigger trigger, ArgumentPlaceholder <DateTimeOffset> timestamp = default, ArgumentPlaceholder <XFullCorrelationId> correlationId = default)
 {
     trigger.EnsureNotNull(nameof(trigger));
     if (correlationId.HasExplicitValue && correlationId.ExplicitValue.IsEmpty)
     {
         throw new ArgumentException(message: "Cannot be empty.", paramName: nameof(correlationId));
     }
     //
     _trigger                = trigger;
     _source                 = null;
     _timestamp              = timestamp.Substitute(value: DateTimeOffset.Now);
     _correlationId          = correlationId.Substitute(value: default);