首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >SerializationInfo替换值(不能将同一成员两次添加到SerializationInfo对象)

SerializationInfo替换值(不能将同一成员两次添加到SerializationInfo对象)
EN

Stack Overflow用户
提问于 2018-01-26 00:45:25
回答 1查看 233关注 0票数 1

我尝试在可序列化对象的子类上重写ISerializable.GetObjectData。我想用我自己的值替换其中一个值,但是我不知道怎么做。这是我尝试过的。

代码语言:javascript
运行
复制
public override void GetObjectData(SerializationInfo info, StreamingContext context)
{
    base.GetObjectData(info, context);
    //replace the message value in info with my own value
    info.AddValue("Message", this.Message);
}

它抛出一个异常,声明为"Cannot add the same member twice to a SerializationInfo object"

EN

回答 1

Stack Overflow用户

发布于 2018-01-26 00:50:00

代码语言:javascript
运行
复制
info.UpdateValue(name, value, type);

注意这里的警告!https://github.com/dotnet/coreclr/blob/master/src/mscorlib/src/System/Runtime/Serialization/SerializationInfo.cs#L358-L360

请注意,常规.NET中不存在此API,但由于您的目标是.NET核心,因此您应该能够轻松地使用它。

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

https://stackoverflow.com/questions/48447996

复制
相关文章

相似问题

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