gpt4 book ai didi

c# - 反序列化没有默认构造函数 C#

转载 作者:行者123 更新时间:2023-11-30 18:45:57 29 4
gpt4 key购买 nike

<分区>

我有一个要求,我需要反序列化并创建一个没有默认构造函数的类(表)的几个对象。

我的代码片段

else if (reader.Name == "Tables")
{
reader.ReadStartElement();
tables = SerializationHelper<Table>.DeserializeList(reader);
}

SerializationHelper中DeserializeList的定义如下:

public static List<T> DeserializeList(XmlReader reader)
{
XmlSerializer ser = new XmlSerializer(typeof(T));
List<T> returnval = new List<T>();
while (reader.NodeType != XmlNodeType.EndElement)
{
T result = (T)ser.Deserialize(reader);
returnval.Add(result);
}
return returnval;
}

这是一个现有的工作代码,随着最近的更改,我们必须向类中的所有构造函数添加一个授权参数

这里的 Table 类现在没有任何无参数构造函数。

我想知道在反序列化 Table 对象时是否可以传递至少一个参数。

我已经阅读了以下内容,但他们使用的是 JSON.net,在我的情况下这不是一个可以使用的选项。

JSON.net: how to deserialize without using the default constructor?

How to deserialize class without calling a constructor?

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