假设我们有一个可以被XmlSerializer序列化/反序列化的类。它会像这样:XmlSerializer属性转换器
[XmlRoot("ObjectSummary")]
public class Summary
{
public string Name {get;set;}
public string IsValid {get;set;}
}
我们有一个XML,这将是像这样:
<ObjectSummary>
<Name>some name</Name>
<IsValid>Y</IsValid>
<ObjectSummary>
使用布尔属性的IsValid而不是字符串属性是更好的决定,但在这种情况下,我们需要添加一些额外的逻辑来将数据从字符串转换为布尔值。
解决此问题的简单而直接的方法是使用附加属性并将一些转换逻辑放入IsValid获取器中。
任何人都可以提出更好的决定吗?以某种方式在属性中使用类型转换器或类似的东西?
你的问题不清楚给我。你为什么不使用布尔? – bnieland 2011-05-11 11:29:42
OP希望将IsValid作为布尔值,但输出Y和N而不是假和真。 – Aliostad 2011-05-11 11:36:00
这是一个关于bool的好问题:)我确实认为使用bool属性是一个非常合理的决定,但不幸的是上述xml来自外部系统,所以我无法更改任何内容。很伤心,不是吗? :) – madcyree 2011-05-11 14:06:15