public ChannelOperationInstruction DeepCloneWithMonitoringInfo(ChannelOperationMonitoringInfo monitoringInfo) { var result = new ChannelOperationInstruction( this.Operation?.DeepClone(), monitoringInfo, this.Tags?.DeepClone()); return(result); }
/// <summary> /// Initializes a new instance of the <see cref="ChannelOperationInstruction"/> class. /// </summary> /// <param name="operation">The channel operation.</param> /// <param name="monitoringInfo">The information needed to monitor the execution of the operation.</param> /// <param name="tags">OPTIONAL tags to use when putting the operation into the channel-specific Operation Stream. DEFAULT is to specify no tags.</param> public ChannelOperationInstruction( IOperation operation, ChannelOperationMonitoringInfo monitoringInfo, IReadOnlyCollection <NamedValue <string> > tags = null) { new { operation }.AsArg().Must().NotBeNull(); new { monitoringInfo }.AsArg().Must().NotBeNull(); this.Operation = operation; this.MonitoringInfo = monitoringInfo; this.Tags = tags; }