我有一個類叫做RootObject
:傳遞一個類型作爲參數傳遞給方法
public class RootObject
{
public string Name { get; set; }
public int Age { get; set; }
public int Address { get; set; }
}
public void getdata()
{
WebRequest request = WebRequest.Create("http://addresstojson.com/json.json");
WebResponse response = await request.GetResponseAsync();
using (var stream = new StreamReader(response.GetResponseStream()))
{
json = JsonConvert.DeserializeObject<RootObject>(stream.ReadToEnd());
}
}
在getdata()
方法的最後聲明中,類型傳遞:
JsonConvert.DeserializeObject</*here*/>(Stream.ReadToEnd())
我想通過類型作爲getdata(RootObject)
方法的參數。
有沒有辦法在C#中使用泛型來做到這一點?
'public void getdata(){... DeserializeObject (...)' –
泛型類型是編譯時常量,如果您需要泛型參數,您的方法必須聲明它。 –
'getdata'這樣做是沒有意義的,除非你也改變它返回'T'(因爲'json'必須是'T'本身)。 – crashmstr