2012年1月20日金曜日

XmlSerializerでGenericなリストを使いたい!

XmlSerializerを使って、シリアライズなどするとき、GenericのList等は使えません。
ただ、配列は使用可能なので、次のようなコードで対応します。
 [XmlIgnore]
 public List myHogeList { set; get; }
 [XmlElement("myHogeList")]
 public Hoge[] myHogeArray
 {
  set
  {
   myHogeList = new List();
   myHogeList.AddRange(value);
  }
  get
  {
   return myHogeList.ToArray();
  }
 }

考え方は、XmlIgnoreを使ってシリアライズ対象外に、配列を使って無理矢理Listと相互変換。

0 件のコメント:

コメントを投稿