WPプログラミングの学習を始めたばかりなので、これは少しばかげた質問かもしれません...
1 つの Web サービスからいくつかの異なる方法でデータを取得するアプリを開発しています。そこで、このすべての Web サービス フェッチ コードを 1 つのクラスにまとめることにしました。
class WebApiWorker
{
public async Task<List<GeocodeResponse>> GetGeocodeAsync(String address)
{
String url = "http://api.com&search=" + HttpUtility.UrlEncode(address) + "&format=json";
HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create(url);
httpWebRequest.Method = "GET";
HttpWebResponse response = (HttpWebResponse) await httpWebRequest.GetResponseAsync();
Stream responseStream = response.GetResponseStream();
string data;
using (var reader = new System.IO.StreamReader(responseStream))
{
data = reader.ReadToEnd();
}
responseStream.Close();
var geocodeResponse = JsonConvert.DeserializeObject<List<GeocodeResponse>>(data);
return geocodeResponse;
}
}
しかし、「メインアプリ」コードからこれをどのように呼び出すべきか、次のようなことを試しています:
WebApiWorker webApi = new WebApiWorker();
var geoResponse = await webApi.GetGeocodeAsync("address");
これの何が問題なのか、コンパイラ エラーが発生します。「await」演算子は非同期メソッド内でのみ使用できます。このメソッドを「async」修飾子でマークし、戻り値の型を「Task」に変更することを検討してください。
すべての提案を歓迎します。