Dot-Net
如何使用 RuntimeTypeModel 將 ProtoInclude 與 protobuf-net 中的類型相關聯?
據我了解,RuntimeTypeModel 允許將 ProtoInclude 與類型相關聯,這對於無法更改類型聲明的情況很有用。但我發現很難理解它實際上是如何完成的。
有例子嗎?
謝謝。
AddSubType()用於指定派生類型及其標識符;例如(完整程式碼):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; }以上在執行時配置了整個類型模型,但您也可以在自動(通過屬性)和顯式(通過程式碼)之間混合匹配。