/// <summary> /// Deletes an instance from the table. /// </summary> /// <param name="instance"> /// The instance to delete. /// </param> /// <param name="parameters"> /// A dictionary of user-defined parameters and values to include in /// the request URI query string. /// </param> /// <returns> /// A task that will complete when the delete has finished. /// </returns> public async Task DeleteAsync(T instance, IDictionary <string, string> parameters) { if (instance == null) { throw new ArgumentNullException("instance"); } MobileServiceSerializer serializer = this.MobileServiceClient.Serializer; object id = serializer.GetId(instance); if (serializer.IsDefaultId(id)) { throw new ArgumentException( string.Format( CultureInfo.InvariantCulture, Resources.MobileServiceTable_DeleteWithoutId, MobileServiceUrlBuilder.IdPropertyName), "instance"); } // Send the request await this.SendDeleteAsync(id, parameters); // Clear the instance id since it's no longer associated with that // id on the server (note that reflection is goodly enough to turn // null into the correct value for us). serializer.ClearId(instance); }