首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何停止使用Protobuf继承和直接使用继承的类?

如何停止使用Protobuf继承和直接使用继承的类?
EN

Stack Overflow用户
提问于 2017-05-04 14:47:50
回答 1查看 74关注 0票数 0

我从基类继承了一个继承的设置类,我希望(反)单独序列化(例如)。

代码语言:javascript
运行
复制
[ProtoContract]
[ProtoInclude(1, typeof(GlobalSettings))]
[ProtoInclude(2, typeof(UserSettings))]
public class BaseSettings
{
}

[ProtoContract]
public class GlobalSettings: BaseSettings
{
    [ProtoMember(1)]
    public string TempPath { get; set; }
}

[ProtoContract]
public class UserSettings: BaseSettings
{
    [ProtoMember(1)]
    public int UILanguage { get; set; }
}

唯一的问题是,我不能失去配置,如果UserSettings不再从BaseSettings继承并转移到另一个程序集独立使用,那么(反)序列化仍然是可能的(有某种转换或没有)而不访问GlobalSettings类吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-04 15:11:29

继承是序列化模型的一个基本部分,特别是当您谈到Deserialize<BaseSettings>时。如果只执行Deserialize<GlobalSettings>Deserialize<UserSettings>之类的操作,那么您可能可以删除[ProtoInclude],但是问题就变成了将BaseSettings的成员宣布为子类型。有办法做到这一点。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43786153

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档