/// <summary> /// Initializes a new instance of the <see cref="MessagePackSecurity"/> class /// with properties copied from a provided template. /// </summary> /// <param name="copyFrom">The template to copy from.</param> protected MessagePackSecurity(MessagePackSecurity copyFrom) : this() { if (copyFrom is null) { throw new ArgumentNullException(nameof(copyFrom)); } this.HashCollisionResistant = copyFrom.HashCollisionResistant; this.MaximumObjectGraphDepth = copyFrom.MaximumObjectGraphDepth; }
/// <summary> /// Gets a copy of these options with the <see cref="Security"/> property set to a new value. /// </summary> /// <param name="security">The new value for the <see cref="Security"/> property.</param> /// <returns>The new instance; or the original if the value is unchanged.</returns> public MessagePackSerializerOptions WithSecurity(MessagePackSecurity security) { if (security is null) { throw new ArgumentNullException(nameof(security)); } if (this.Security == security) { return(this); } var result = this.Clone(); result.Security = security; return(result); }
internal ObjectFallbackEqualityComparer(MessagePackSecurity security) { this.security = security ?? throw new ArgumentNullException(nameof(security)); }