Frage

Ich begann proto-buf .Net für meine Serialisierung Blick auf verwenden muss für Medien-Browser.

In dem neuen System haben wir einen Entity Framework, die mit Plug-In erweitert werden können.

So zum Beispiel definieren wir eine Medium Klasse in der Core-Bibliothek, und dann Plug-In können Unterklassen wie Lied definieren.

Es scheint, dass Proto-buf benötigt .Net über alle Untertypen unserer Kern definiert Basisklasse kennen.

Ich bin also zu erwarten meine Basisklasse dekoriert mit

[ProtoInclude(2, typeof(Song))]

Aber ... zu diesem Zeitpunkt Ich weiß nichts über die Song-Klasse, die noch nicht existiert.

Ist es zurück an das Zeichenbrett? Bin ich versuche, etwas die Bibliothek zu tun, ist nicht ausgelegt?

War es hilfreich?

Lösung

(vom Autor)

In der aktuellen Version ist es Typen fest mit den Eltern bekannt. Dies ist jedoch eine bekannte Einschränkung, so gibt es einen Plan zu abstrahieren dem Meta-Modell, so dass sie separat zur Laufzeit zur Verfügung gestellt werden können - im Großen und Ganzen vergleichbar, wie Sie diese Informationen zur Verfügung stellen XmlSerializer (es muß noch ein Weg-Tags zu liefern ( die "2" oben) pro Typ).

Ich habe zu dieser Arbeit begonnen, aber ich erwarte, dass es ein paar Wochen dauern, sie vollständig zum Laufen zu bringen (das Umgestalten wird auch in einigen anderen Änderungen binden Compact Framework helfen).

Also bis zu Ihnen ... wenn Sie ein paar Wochen warten können, hoffe ich, etwas zum Laufen zu haben.

Beachten Sie, dass Sie noch eine Möglichkeit brauchen würden (einzigartig, wiederholbare) Tags für die verschiedenen Untertypen zu erzeugen -. Konfiguration, etc

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top