/// <summary> /// Refresh the current instance with the latest values from the /// table. /// </summary> /// <param name="instance"> /// The instance to refresh. /// </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 refresh has finished. /// </returns> public async Task RefreshAsync(T instance, IDictionary <string, string> parameters) { if (instance == null) { throw new ArgumentNullException("instance"); } MobileServiceSerializer serializer = this.MobileServiceClient.Serializer; object id = serializer.GetId(instance, allowDefault: true); if (MobileServiceSerializer.IsDefaultId(id)) { return; } if (id is string) { MobileServiceSerializer.EnsureValidStringId(id, allowDefault: true); } // Get the latest version of this element JObject refreshed = await this.GetSingleValueAsync(id, parameters); // Deserialize that value back into the current instance serializer.Deserialize <T>(refreshed, instance); }