如何使用自定义的true和false值从Xml中对bool进行desearialize?

Mar*_*own 6 c# serialization boolean

我试图将Xml文档反序列化为C#类.Xml看起来像这样:

<response>
    <result>Success</result>
</response>
Run Code Online (Sandbox Code Playgroud)

结果可能只是"成功"或"失败".当我反序列化它时,我希望将值放入bool中,其中"Success"= true,"Failed"= false.我不知道如何设置true和valse常量?我现在的代码看起来像这样.

[XmlRoot(ElementName="response")]
public class Response()
{
    [XmlElement(ElementName="result")]
    public bool Result { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

Joa*_* VR 4

定义另一个隐藏的属性,它会为您进行转换:

[XmlRoot(ElementName="response")]
public class Response()
{
  [XmlElement(ElementName="result")]
  private string ResultInternal { get; set; }

  [XmlIgnore()]
  public bool Result{
    get{
      return this.ResultInternal == "Success";
    }
    set{
      this.ResultInternal = value ? "Success" : "Failed";
    }
  }
}
Run Code Online (Sandbox Code Playgroud)