/// <summary> /// <para>Initializes a new instance of the <see cref="SharedLinkMetadata" /> /// class.</para> /// </summary> /// <param name="url">URL of the shared link.</param> /// <param name="name">The linked file name (including extension). This never contains /// a slash.</param> /// <param name="linkPermissions">The link's access permissions.</param> /// <param name="id">A unique identifier for the linked file.</param> /// <param name="expires">Expiration time, if set. By default the link won't /// expire.</param> /// <param name="pathLower">The lowercased full path in the user's Dropbox. This always /// starts with a slash. This field will only be present only if the linked file is in /// the authenticated user's dropbox.</param> /// <param name="teamMemberInfo">The team membership information of the link's owner. /// This field will only be present if the link's owner is a team member.</param> /// <param name="contentOwnerTeamInfo">The team information of the content's owner. /// This field will only be present if the content's owner is a team member and the /// content's owner team is different from the link's owner team.</param> protected SharedLinkMetadata(string url, string name, LinkPermissions linkPermissions, string id = null, sys.DateTime?expires = null, string pathLower = null, TeamMemberInfo teamMemberInfo = null, Dropbox.Api.Users.Team contentOwnerTeamInfo = null) { if (url == null) { throw new sys.ArgumentNullException("url"); } if (name == null) { throw new sys.ArgumentNullException("name"); } if (linkPermissions == null) { throw new sys.ArgumentNullException("linkPermissions"); } if (id != null) { if (id.Length < 1) { throw new sys.ArgumentOutOfRangeException("id", "Length should be at least 1"); } } this.Url = url; this.Name = name; this.LinkPermissions = linkPermissions; this.Id = id; this.Expires = expires; this.PathLower = pathLower; this.TeamMemberInfo = teamMemberInfo; this.ContentOwnerTeamInfo = contentOwnerTeamInfo; }