public PermissionSetEncoder AddPermission(string typeName, BlobBuilder encodedArguments) { if (typeName is null) { Throw.ArgumentNull(nameof(typeName)); } if (encodedArguments is null) { Throw.ArgumentNull(nameof(encodedArguments)); } if (encodedArguments.Count > BlobWriterImpl.MaxCompressedIntegerValue) { Throw.BlobTooLarge(nameof(encodedArguments)); } Builder.WriteSerializedString(typeName); Builder.WriteCompressedInteger(encodedArguments.Count); encodedArguments.WriteContentTo(Builder); return(this); }
public PermissionSetEncoder AddPermission(string typeName, ImmutableArray <byte> encodedArguments) { if (typeName is null) { Throw.ArgumentNull(nameof(typeName)); } if (encodedArguments.IsDefault) { Throw.ArgumentNull(nameof(encodedArguments)); } if (encodedArguments.Length > BlobWriterImpl.MaxCompressedIntegerValue) { Throw.BlobTooLarge(nameof(encodedArguments)); } Builder.WriteSerializedString(typeName); Builder.WriteCompressedInteger(encodedArguments.Length); Builder.WriteBytes(encodedArguments); return(this); }