Мне нужно получить JSON, предоставленный API, для моего проекта, а это означает десериализацию JSON с использованием класса, и я решил использовать классы DataContract
.В любом случае разные URL-адреса соответствуют разным выходным данным JSON для API.
Так что я спрашиваю?Чтобы увидеть, есть ли лучший способ иметь URL-адреса, соответствующие классам DataContract
, чем создавать public T GetObject<T>(string uri)
и использовать его с GetObject<ExampleDataContract>("http://blah/")
.
В приведенном ниже коде показана моя текущая попытка, которую я 'Я думаю, что это не очень хорошая идея, не говоря уже о том, что, если я когда-нибудь поменяю пространство имен, мне будет весело.
public T GetObject<T>()
{
string uri = "";
string type = typeof(T).ToString();
switch (type)
{
case "Namespace.ExampleDataContract":
uri = "http://www.example.com/blah.json";
break;
}
return JsonHelper.Deserialize<T>(this.GetJson(uri));
}