public StringPayloadLinkedResource DeepCloneWithResourceKind(StringPayloadLinkedResourceKind resourceKind) { var result = new StringPayloadLinkedResource( this.Value?.DeepClone(), resourceKind); return(result); }
/// <summary> /// Initializes a new instance of the <see cref="StringPayloadLinkedResource"/> class. /// </summary> /// <param name="value">The string payload value.</param> /// <param name="resourceKind">The kind of resource.</param> public StringPayloadLinkedResource( string value, StringPayloadLinkedResourceKind resourceKind) { if (value == null) { throw new ArgumentNullException(nameof(value)); } if (string.IsNullOrWhiteSpace(value)) { throw new ArgumentException(Invariant($"{nameof(value)} is white space.")); } if (resourceKind == StringPayloadLinkedResourceKind.Unknown) { throw new ArgumentOutOfRangeException(Invariant($"{nameof(resourceKind)} is {nameof(StringPayloadLinkedResourceKind.Unknown)}.")); } this.Value = value; this.ResourceKind = resourceKind; }