/// <summary> /// Adds an operation to be submitted as part of the batch. /// </summary> /// <param name="blob">The <see cref="CloudBlob"/> to be deleted.</param> /// <param name="deleteSnapshotsOption">A <see cref="DeleteSnapshotsOption"/> object indicating whether to only delete the blob, to delete the blob and all snapshots, or to only delete the snapshots.</param> /// <param name="accessCondition">An <see cref="AccessCondition"/> object that represents the condition that must be met in order for the request to proceed. If <c>null</c>, no condition is used.</param> /// <param name="blobRequestOptions">A <see cref="BlobRequestOptions"/> object that specifies additional options for the request.</param> public void AddSubOperation(CloudBlob blob, DeleteSnapshotsOption deleteSnapshotsOption = DeleteSnapshotsOption.None, AccessCondition accessCondition = default(AccessCondition), BlobRequestOptions blobRequestOptions = default(BlobRequestOptions)) { CommonUtility.AssertInBounds("operationCount", this.Operations.Count, 0, Constants.MaxSubOperationPerBatch - 1); CommonUtility.AssertNotNull("blockBlob", blob); this.Operations.Add(blob.DeleteBlobImpl(blob.attributes, deleteSnapshotsOption, accessCondition, blobRequestOptions ?? BlobRequestOptions.BaseDefaultRequestOptions)); }