Question

J'ai commencé à regarder à l'aide proto-BUF .Net pour mon sérialisation a besoin pour le navigateur multimédia.

Dans le nouveau système, nous avons un cadre d'entité qui peut être étendue avec des plug-ins.

Ainsi, par exemple, nous définissons une classe de médias dans la bibliothèque de base, puis les plug-ins peuvent définir des sous-classes telles que le chant.

Il semble que proto-BUF .Net doit savoir sur tous les sous types de notre classe de base définie de base.

Je suis censé décorer ma classe de base avec

[ProtoInclude(2, typeof(Song))]

Mais ... à ce moment, je ne sais rien de la classe chanson qui n'existe pas encore.

Est-il revenir à la planche à dessin? Suis-je en train de faire quelque chose la bibliothèque n'a pas été conçu pour?

Était-ce utile?

La solution

(de l'auteur)

Dans la version actuelle, il est fixé à des types connus de la société mère. Toutefois, ceci est une limitation connue, donc il y a un plan d'abstraire le méta-modèle afin qu'il puisse être fourni séparément à l'exécution - largement comparable à la façon dont vous fournir ces informations à XmlSerializer (il aura encore besoin d'un moyen de fournir des étiquettes ( le "2" ci-dessus) selon le type).

J'ai commencé ce travail, mais je vous attendre à prendre quelques semaines pour le faire fonctionner pleinement (le refactoring va attacher aussi dans d'autres changements pour aider cadre compact ).

Alors à vous ... si vous pouvez attendre quelques semaines, j'espère avoir quelque chose de travail.

Notez que vous aurez encore besoin d'une certaine façon de générer des étiquettes (uniques), reproductibles pour tous les sous-types différents -. Configuration, etc

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top