沒有預設建構子無法對List<>進行xml序列化
![圖片](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiprExCLmhCAtIkMhpVXCsBEjQwBiNbFN5SYVQCIIG2h8rDighu5I2FsqQsC6l8qshZzHJewx_zpJ9M2BJWQ7Cw-55Mmw_-v3os8IyQvaVz1rFNXINj2Sbt-M7eJC6_XPqt13L5CK1zitbh/s400/XmlSerialize_1.png)
突然需要寫個xml的設定檔,於是就簡單寫了一個類別TestXml,其中含有一個List<TestA>的成員。TestA也是個簡單的類別,只有兩個屬性及一個帶有參數的建構子。 針對Xml的序列化也是簡單地使用XmlSerialize類別來處理,程式碼如下。但是一執行就出現了Exception。 Exception的內容是這樣寫的,它說無法序列化List<>中的型別。 一開始以為是TestA類別上要加上[Serializable],結果加了也沒用。後來又加了XmlArray、XmlArrayItem等等的,還是沒用。 最後就放棄List<>,先針對單一的類別TestA來進行Xml序列化,才知道原來是TestA這個類別沒有預設建構子(就是不帶任何參數的建構子)。找了半天,原來是這個問題。一切只能說List<TestA>無法序列化時的錯誤訊息也太不直覺了吧。