gpt4 book ai didi

c# - 如何使用反序列化对象?

转载 作者:行者123 更新时间:2023-11-30 22:14:35 26 4
gpt4 key购买 nike

我正在为 Windows 8 应用程序在 C# 中序列化和反序列化一个对象。

我在将对象传递给下一个 View 之前将其序列化,因为传递对象会抛出异常。

函数 OnNavigatedTo:

protected override void OnNavigatedTo(NavigationEventArgs e)
{
base.OnNavigatedTo(e);
string XMLString = e.Parameter.ToString();
var thisChannel = XmlDeserializeFromString(XMLString, typeof(Channel));
....}

反序列化函数:

  public static Channel XmlDeserializeFromString<Channel>(string objectData)
{
return (Channel)XmlDeserializeFromString(objectData, typeof(Channel));
}

public static object XmlDeserializeFromString(string objectData, Type type)
{
var serializer = new XmlSerializer(type);
object result;

using (TextReader reader = new StringReader(objectData))
{
result = serializer.Deserialize(reader);
}

return result;
}

Object Content

我想访问此对象中的数据,但类似:thisChannel.Name 的内容不起作用。而且我不知道如何继续使用这个对象。

最佳答案

首先在这一行中删除 var:

 //var thisChannel = XmlDeserializeFromString(XMLString, typeof(Channel));
Channel thisChannel = XmlDeserializeFromString(XMLString, typeof(Channel));

,然后选择错误的 XMLDESERIALIZEFROMSTRING()时,至少您将遇到错误。

并确保您使用正确的:

 Channel thisChannel = XmlDeserializeFromString<Channel>(XMLString);

重载应谨慎使用,一般不要与类型参数混合使用。

关于c# - 如何使用反序列化对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18444861/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com