加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-15 08:10:12 所属栏目:百科 来源:网络整理
导读:我想序列化我的具有属性IPAddress的类. public class Person{ public IPAddress MasterIP { get; set; } public Person(){}}public void SerializeMyClass(){ Person obj=new Person(); XmlSerializer xmlSerializer = new XmlSerializer(obj.GetType()); xm
我想序列化我的具有属性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);
}

但是我收到了错误:

“can not serialize IPaddress because it has no empty constructor”

解决方法

您不能 – 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); 
    }
  }
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读