戻り値の型を関数DoRequest()
に渡すことができるようにするため、応答を非直列化する型を指定できますが、System.Typeの変数は渡せませんコンパイラが"responseType is a variable but is used like a type"
というエラーを返すので、一般的な<>式に変換します。汎用メソッドにパラメータとしてSystem.Typeを渡す
これを行う方法はありますか?
static void Main(string[] args)
var requestObj = new MyRequestType();
var responseObj = DoWebRequest(requestObj , typeof(MyResponseType));
}
static object DoRequest(object reqObj, Type responseType){
HttpClient client = new HttpClient();
var response = client.PostAsJsonAsync("http://someuri.com", reqObj);
var stringResponse = response.Result.Content.ReadAsStringAsync().Result;
return JsonConvert.DeserializeObject<responseType>(respPostEpisode);
//Compile error: responseType is a variable but is used like a type
}
あなたのメソッドは一般的ではありません、それは問題です –
[一般的なメソッドを呼び出すためにリフレクションを使用するにはどうすればいいですか?](http://stackoverflow.com/questions/232535/how-do-i-use-リフレクションからコールへのジェネリックメソッド) – HimBromBeere