Metadata enc.IEncodable <Metadata> .Decode(enc.IDecoder decoder) { var tag = string.Empty; using (var obj = decoder.GetObject()) { tag = obj.GetField <string>(".tag"); } switch (tag) { case "file": var file = new FileMetadata(); return(((enc.IEncodable <FileMetadata>)file).Decode(decoder)); case "folder": var folder = new FolderMetadata(); return(((enc.IEncodable <FolderMetadata>)folder).Decode(decoder)); case "deleted": var deleted = new DeletedMetadata(); return(((enc.IEncodable <DeletedMetadata>)deleted).Decode(decoder)); default: throw new sys.InvalidOperationException(); } }
/// <summary> /// <para>Initializes a new instance of the <see cref="DownloadZipResult" /> /// class.</para> /// </summary> /// <param name="metadata">The metadata</param> public DownloadZipResult(FolderMetadata metadata) { if (metadata == null) { throw new sys.ArgumentNullException("metadata"); } this.Metadata = metadata; }
/// <summary> /// <para>Initializes a new instance of the <see cref="CreateFolderEntryResult" /> /// class.</para> /// </summary> /// <param name="metadata">Metadata of the created folder.</param> public CreateFolderEntryResult(FolderMetadata metadata) { if (metadata == null) { throw new sys.ArgumentNullException("metadata"); } this.Metadata = metadata; }