我有一个类叫做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