예제 #1
0
        public GetProtocolByTypeOp DeepCloneWithMissingProtocolStrategy(MissingProtocolStrategy missingProtocolStrategy)
        {
            var result = new GetProtocolByTypeOp(
                this.ProtocolType?.DeepClone(),
                missingProtocolStrategy);

            return(result);
        }
예제 #2
0
        public GetProtocolOp DeepCloneWithMissingProtocolStrategy(MissingProtocolStrategy missingProtocolStrategy)
        {
            var result = new GetProtocolOp(
                this.Operation?.DeepClone(),
                missingProtocolStrategy);

            return(result);
        }
예제 #3
0
        /// <summary>
        /// Initializes a new instance of the <see cref="GetProtocolOp"/> class.
        /// </summary>
        /// <param name="operation">The operation.</param>
        /// <param name="missingProtocolStrategy">OPTIONAL value that determine what to do if the protocol is missing.  DEFAULT is to throw.</param>
        public GetProtocolOp(
            IOperation operation,
            MissingProtocolStrategy missingProtocolStrategy = MissingProtocolStrategy.Throw)
        {
            if (operation == null)
            {
                throw new ArgumentNullException(nameof(operation));
            }

            if (missingProtocolStrategy == MissingProtocolStrategy.Unknown)
            {
                throw new ArgumentOutOfRangeException(nameof(missingProtocolStrategy), $"{nameof(missingProtocolStrategy)} is {nameof(MissingProtocolStrategy.Unknown)}.");
            }

            this.Operation = operation;
            this.MissingProtocolStrategy = missingProtocolStrategy;
        }