internal void Update(BaseDTO dto) { // при изменении на сервере, изменить в кеше Task <BaseDTO> t = _client.UpdateAsync(dto); t.ContinueWith(td => { BaseDTO dtoFromServer = td.Result as BaseDTO; if (IfErrorShowMessage(dtoFromServer)) { return; } if (_dataSources.ContainsKey(dto.GetType())) { ICachedData items = _dataSources[dto.GetType()]; items.Update(dto); } }); }