[英]make protobuf-net serialize subclasses as the base class?
我正在使用Protobuf-net(使用Servicestack)。 我有一种情况,我希望某个类被序列化为完全类,即使特定实例是继承者。 Protobuf-net可以这样做吗? 我不关心继承人,也不希望他们被发送给我的客户,他们没有正确的东西来反序列化他们。
目前,答案就是“不”。 令人讨厌的是,它支持大多数代码,因为它适用于Entity Framework,NHibernate等代理类型(它们被实现为应该被视为基类型的子类型),但我还没有将此作为可选的“忽略子类型”功能公开。 从理论上讲,它应该是一个接线的案例。 如果您的继承模型只是一个额外的级别(即合同类型是Foo
,并且您给它一个SuperFoo
,其中SuperFoo : Foo
),那么可以通过假装为NHibernate来欺骗它 (它检查接口/名称空间名称 - 它实际上并不引用NHibernate本身,以减少依赖项):
namespace NHibernate.Proxy.DynamicProxy
{
interface IProxy { }
}
...
class SuperFoo : Foo, IProxy {...}
然而! 我应该补充:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.