인터페이스를 감안할 때 인터페이스 매개 변수 (C#을, MVC)를받을 때 다른 데이터베이스 스키마를 사용하지만 동일한 작업을 수행해야합니다. 팀이 새로운 앱을 작성하는 동안 오래된 앱을 유지 관리해야합니다. 요구 사항에는 두 라이브러리 모두 동일한 라이브러리를 사용하므로이 문제점이 존재합니다. 애플 리케이션은 모두 동일한 외부 API를 호출하고, 그 호출은 자신의 정적 클래스에 있고과 같이 액세스 할 수 있습니다 : 그래서,역 직렬화는
result.add(JsonConvert.DeserializeObject<IObject>(Convert.ToString(d)));
휴식
분명히public static IEnumerable<IObject> List(Guid listUniqueIdentifier)
{
//a custom class to call the API
using (var cmd = new WebApiCommand())
{
//custom enum
cmd.CommandType = ApiComType.GET;
cmd.Command = "ListObjects";
cmd.Filter = listUniqueIdentifier.ToString();
IEnumerable<object> data = cmd.Execute();
var result = new List<IObject>();
foreach(var d in data)
{
result.add(JsonConvert.DeserializeObject<IObject>(Convert.ToString(d)));
}
return result;
}
}
, 당신은 인터페이스를 인스턴스화 할 수 없습니다 . GUID를 사용하는 버전을 만들려고하지 않고 실패하는 경우 정수 버전을 사용하십시오. 그것도 조금 해킹되었을뿐만 아니라 정수를 사용하는 최신 DB이기 때문에 흐름 제어로 try
블록을 사용하는 것이 더 나쁠 수 있습니다. 각 유형에 대해 다른 메소드를 작성하지 않고 올바른 오브젝트 인스턴스 유형 (A 또는 B)로 역 직렬화 할 수 있습니까? 편집 : 내가 찾은 솔루션은 일반적으로 중 $ 형식을 serialize하거나 그렇지 않으면 직렬화하는 동안 인스턴스 형식을 저장하는 포함합니다. API가 타사 응용 프로그램에 연결되어 있고이 데이터를 저장할 수 없으므로 불가능합니다.