문제

미디어 브라우저에 대한 직렬화 요구에 Proto-Buf .NET을 사용하기 시작했습니다.

새로운 시스템에는 플러그인으로 확장 할 수있는 엔티티 프레임 워크가 있습니다.

예를 들어 핵심 라이브러리에서 미디어 클래스를 정의한 다음 플러그인은 송과 같은 서브 클래스를 정의 할 수 있습니다.

Proto-Buf .net은 핵심 정의 된 기본 클래스의 모든 하위 유형에 대해 알아야 할 것 같습니다.

그래서 나는 내 기본 수업을

[ProtoInclude(2, typeof(Song))]

그러나 ... 그 시점에서 나는 아직 존재하지 않는 노래 클래스에 대해 아무것도 모른다.

드로잉 보드로 돌아 왔나요? 도서관이 설계되지 않은 일을하려고합니까?

도움이 되었습니까?

해결책

(저자로부터)

현재 릴리스에서는 부모에게 알려진 유형에 고정됩니다. 그러나 이것은 알려진 한계이므로 런타임에 별도로 제공 될 수 있도록 메타 모델을 추상화 할 계획이 있습니다. 그러한 정보를 제공하는 방법과 비교할 수 있습니다. XmlSerializer (유형 당 태그 (위의 "2")를 제공하는 방법이 여전히 필요합니다).

나는이 작업을 시작했지만 완전히 작동하는 데 몇 주가 걸릴 것으로 기대 소형 프레임 워크를 돕기 위해).

그래서 당신에게 ... 몇 주를 기다릴 수 있다면, 나는 무언가가 작동하기를 바랍니다.

모든 다른 하위 유형 - 구성 등에 대한 (고유 한 반복 가능한) 태그를 생성하는 방법이 여전히 필요합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top