gpt4 book ai didi

asp.net - XmlSerializer 可以反序列化为 Nullable 吗?

转载 作者:行者123 更新时间:2023-12-04 17:59:15 25 4
gpt4 key购买 nike

这是 Can XmlSerializer deserialize into a Nullable<int>? 的副本但我需要一个既不更改 xml 文档也不强制我实现 IXmlSerializable 接口(interface)的解决方案。我不想实现 IXmlSerializable,因为除了 <number 之外还有许多其他元素> 正确反序列化。

我的 xml 可以包含任一元素 <number>4</number><number/>

<root>
...
either <number>4</number> or <number/>
... [other elements]
</root>

类(class)
public class root
{
public int? number {get; set;}
...
}

不起作用。

最佳答案

您可以只使用代理属性。

public class MyType1
{
// XmlIgnore means it is not directly serialized
[XmlIgnore]
public int? number
{
get; set;
}

// acts as a surrogate for the nullable property
[XmlElement("number")]
public string _number_Surrogate
{
get
{
return (number.HasValue) ? number.ToString() : "";
}
set
{
if (!value.Equals(""))
{
number = Int32.Parse(value);
}
}
}

public System.DateTime Time
{
get; set;
}
}

关于asp.net - XmlSerializer 可以反序列化为 Nullable<int> 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1914133/

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