我开始考虑使用proto-buf .Net来满足媒体浏览器的序列化需求。
在新系统中,我们有一个可以使用插件扩展的实体框架。
因此,例如,我们在核心库中定义一个Media类,然后插件可以定义诸如Song之类的子类。
似乎proto-buf .Net需要知道我们的核心定义基类的所有子类型。
所以我希望用
来装饰我的基类[ProtoInclude(2, typeof(Song))]
但是......在那个时候,我对尚不存在的宋课一无所知。
回到绘图板吗?我试图做一些不是为图书馆设计的东西吗?
答案 0 :(得分:1)
(来自作者)
在当前版本中,它固定为父级已知的类型。但是,这是一个已知的限制,因此有一个计划来抽象元模型,以便它可以在运行时单独提供 - 大致与您向XmlSerializer
提供此类信息的方式相当(它仍然需要一种方式提供每种类型的标签(上面的“2”)。
我已经开始了这项工作,但我希望它需要几周的时间才能完全发挥作用(重构也将与其他一些变化相关to help compact framework)。
由你决定...如果你能等几周,我希望能有所作为。
请注意,您仍然需要某种方法为所有不同的子类型(配置等)生成(唯一的,可重复的)标签。