Pregunta

empecé a buscar en el uso de proto-buf .Net para mi serialización necesidades de navegador de medios.

En el nuevo sistema que tenemos un marco entidad que se puede ampliar con plug-ins.

Así, por ejemplo, se define una clase de medios en la biblioteca central, y luego plug-ins podemos definir subclases tales como la canción.

Parece que proto-buf .Net necesita saber acerca de todos los subtipos de nuestra clase base núcleo definido.

Así se espera que yo decorar mi clase base con

[ProtoInclude(2, typeof(Song))]

Pero ... en ese punto en el tiempo que no sé nada acerca de la clase de canción que no existe todavía.

Es de nuevo a la mesa de dibujo? Estoy tratando de hacer algo la biblioteca no está diseñado para?

¿Fue útil?

Solución

(del autor)

En la versión actual, que se fija a los tipos conocidos de los padres. Sin embargo, esto es una limitación conocida, por lo que hay un plan para abstraer el meta-modelo de forma que pueda ser proporcionado por separado en tiempo de ejecución - ampliamente comparable a la forma en que usted proporcione dicha información a XmlSerializer (que todavía se necesita una manera de proporcionar etiquetas ( el "2" más arriba) según el tipo).

He comenzado en este trabajo, pero esperar que tome algunas semanas para conseguirlo completamente de trabajo (el refactor también se unirá a otros cambios para ayudar compacto marco ).

Así que depende de usted ... si se puede esperar unas semanas, espero tener algo de trabajo.

Tenga en cuenta que usted todavía necesita alguna manera de generar etiquetas (únicas y repetibles) para todos los diferentes subtipos -. Configuración, etc.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top