내 프로젝트에 API 제공 JSON을 가져 가야한다는 것은 클래스를 사용하여 JSON을 비 직렬화한다는 것을 의미하며 클래스를 DataContract
개로 선택했습니다. . 어쨌든 다른 URL은 API의 다른 JSON 출력과 일치합니다.C# (JSON 용)에서 클래스와 변수 연결하기
그래서 무엇을 묻는거야? public T GetObject<T>(string uri)
을 만들고 GetObject<ExampleDataContract>("http://blah/")
과 함께 사용하는 것보다 DataContract
클래스에 해당하는 URL을 갖는 더 좋은 방법이 있는지 확인하는 것입니다.
아래의 코드는 내가 현재 생각하고있는 생각은 전혀 좋은 생각이 아니며, 네임 스페이스를 변경하면 재미있을 것입니다.
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));
}
거대한 if sequence/etc보다 나은 방법이 있는지 묻고 싶습니다. 그래서 이것이 가장 좋은 방법이라고 생각하십니까? – unrelativity
@ a2h : 글쎄, 유형별로 URL을 결정하려면 Type1 -> Url1, Type2 -> Url2, ... * somewhere * 목록이 필요합니다. 거대한'if '시퀀스, 정적'Dictionary'또는 일부 설정 파일에 넣을 지 여부는 근본적으로 맛과 정확한 요구 사항에 대한 질문입니다. –
Heinzi