[英]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.