protected async Task <IEnumerable <T> > GetOfType <T>(string address, Action <HttpRequestMessage> auth = null) where T : class { var content = await Get(address, auth); var streamSource = new XmlOsmStreamSource(await content.ReadAsStreamAsync()); var elements = streamSource.OfType <T>(); return(elements); }
private async Task <TOsmGeo> GetElement <TOsmGeo>(string id, string type) where TOsmGeo : OsmGeo { using (var client = new HttpClient()) { var address = _elementAddress.Replace(":id", id).Replace(":type", type); var response = await client.GetAsync(address); if (response.StatusCode != HttpStatusCode.OK) { return(null); } var streamSource = new XmlOsmStreamSource(await response.Content.ReadAsStreamAsync()); return(streamSource.OfType <TOsmGeo>().FirstOrDefault()); } }