据我所知,RuntimeTypeModel允许将ProtoInclude与一个类型相关联,这对于无法更改类型声明的情况很有用.但我发现很难理解它是如何实际完成的. 有一个例子吗? 谢谢. AddSubType()用于指定派生类
有一个例子吗?
谢谢.
AddSubType()用于指定派生类型及其标识符;例如( full code):static RuntimeTypeModel CreateModel() { var model = TypeModel.Create(); model[typeof(NotInvolved)].Add(1, "D"); model[typeof(SomeBase)] .Add(1, "A") .AddSubType(2, typeof(SomeDerived)) .AddSubType(3, typeof(AnotherDerived)); model[typeof(SomeDerived)].Add(1, "B"); model[typeof(AnotherDerived)].Add(1, "C"); model[typeof(AlsoNotInvolved)].Add(1, "E"); return model; }
上面在运行时配置整个类型模型,但您也可以在自动(通过属性)和显式(通过代码)之间进行混合和匹配.