2013-12-22 1 views
1

파일 저장을 위해 Protobuf.net 버전 2.0.0.668을 사용하려고합니다. 내 솔루션에는 하나의 프로젝트에 정의 된 인터페이스와 별도의 프로젝트에 정의 된 클래스가 있으며 클래스 프로젝트에서 인터페이스 프로젝트에 대한 참조가 있습니다. 각 클래스는 인터페이스를 사용하여 다른 클래스를 참조합니다. 이것은 지금까지 잘 작동했지만 protobuf는 인터페이스가 ProtoInclude 속성에서 구체적인 클래스 유형을 지정하기를 원합니다. 이것은 내 프로젝트 구조로는 불가능합니다.인터페이스가 분리 된 protobuf-net 사용

이 문제를 해결하는 방법이 있어야합니다. 예를 들어 관련없는 클래스 인 IServiceLocator <> .GetInstance()에서 필요로 할 때 서비스 참조 자 디자인 패턴을 사용하여 인터페이스 참조에 대한 클래스 인스턴스를 반환합니다. protobuf에서이 작업을 수행 할 수있는 방법이 있습니까 - 필요할 때 "T"유형의 객체를 요청 했습니까?

아니면 대규모 프로젝트로 프로젝트를 재구성하지 않는 다른 해결책이 있습니까?

답변

0

아무도 답을 찾지 못했지만이 방법을 찾지 못했습니다. 그래서이 방법을 버렸습니다 (ProtoInclude 및 관련 특성 사용). ProtoInclude는 인터페이스와 구현 사이의 종속 관계를 바꾸어 일부 컨텍스트에서 유용성을 제한합니다. 내 솔루션은 손으로 직접 수행하는 것입니다. 내 자신의 .proto 파일 등을 작성하십시오. 전반적으로 그렇게 나쁘지는 않습니다.

관련 문제