/// <summary>
        /// Serializes the object.
        /// </summary>
        /// <param name="info">Serialization info object.</param>
        /// <param name="context">Streaming context.</param>
        public void GetObjectData(SerializationInfo info, StreamingContext context)
        {
            if (info == null)
            {
                throw new ArgumentNullException("info");
            }

            if (null != this.ListContinuationToken)
            {
                FileListContinuationToken fileLct = this.ListContinuationToken as FileListContinuationToken;
                if (fileLct != null)
                {
                    info.AddValue(ListContinuationTokenTypeName, TokenTypeFile, typeof(string));
                    info.AddValue(ListContinuationTokenName, fileLct, typeof(FileListContinuationToken));
                    return;
                }

                AzureBlobListContinuationToken azureBlobLct = this.ListContinuationToken as AzureBlobListContinuationToken;
                if (azureBlobLct != null)
                {
                    info.AddValue(ListContinuationTokenTypeName, TokenTypeAzureBlob, typeof(string));
                    info.AddValue(ListContinuationTokenName, azureBlobLct, typeof(AzureBlobListContinuationToken));
                    return;
                }

                AzureFileListContinuationToken azureFileLct = this.ListContinuationToken as AzureFileListContinuationToken;
                if (azureFileLct != null)
                {
                    info.AddValue(ListContinuationTokenTypeName, TokenTypeAzureFile, typeof(string));
                    info.AddValue(ListContinuationTokenName, azureFileLct, typeof(AzureFileListContinuationToken));
                    return;
                }
            }
            else
            {
                info.AddValue(ListContinuationTokenTypeName, "", typeof(string));
            }
        }
コード例 #2
0
 /// <summary>
 /// Initializes a new instance of the <see cref="AzureBlobEntry" /> class.
 /// </summary>
 /// <param name="relativePath">Relative path of the blob indicated by this blob entry.</param>
 /// <param name="cloudBlob">Corresponding CloudBlob.</param>
 /// <param name="continuationToken">Continuation token when listing to this entry.</param>
 public AzureBlobEntry(string relativePath, CloudBlob cloudBlob, AzureBlobListContinuationToken continuationToken)
     : base(relativePath, continuationToken)
 {
     this.Blob = cloudBlob;
 }