繁体   English   中英

如何序列化System.Net.IPAddress属性中包含的类?

[英]How to serialize a classes that included at System.Net.IPAddress property?

我想序列化我的具有属性IPAddress的类。

public class Person
{
    public IPAddress MasterIP { get; set; }
    public Person(){}
}


public void SerializeMyClass()
{
    Person obj=new Person();
    XmlSerializer xmlSerializer = new XmlSerializer(obj.GetType());
    xmlSerializer.Serialize(obj);
}

但我收到错误:

“无法序列化IPaddress,因为它没有空构造函数”

您不能 - XmlSerializer只能序列化具有公共无参数构造函数的公共类的公共属性/字段。 您可以查看其他序列化程序类型(如BinaryFormatter)或破解您的类,如:

public class Person {
  [XmlIgnore]
  public IPAddress MasterIP { get; set; }
  [XmlElement("MasterIP")]
  public string MasterIPForXml {
    get { return MasterIP.ToString(); }
    set { MasterIP = string.IsNullOrEmpty(value) ? null :
      IPAddress.Parse(value); 
    }
  }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM