[Mono-bugs] [Bug 61464][Cos] Changed - MS XmlSerializer can serialize ArrayList derived class with no public parameterless constructor, while Mono implementation cannot

bugzilla-daemon@bugzilla.ximian.com bugzilla-daemon@bugzilla.ximian.com
Thu, 15 Jul 2004 11:20:15 -0400 (EDT)

Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.

Changed by rafaelteixeirabr@hotmail.com.


--- shadow/61464	2004-07-13 02:20:27.000000000 -0400
+++ shadow/61464.tmp.11197	2004-07-15 11:20:15.000000000 -0400
@@ -1,14 +1,14 @@
 Bug#: 61464
 Product: Mono: Class Libraries
 Version: unspecified
 OS: All
 OS Details: Gentoo linux
-Status: NEW   
+Status: NEEDINFO   
+Severity: Unknown
 Priority: Cosmetic
 Component: Sys.XML
 AssignedTo: mono-bugs@ximian.com                            
 ReportedBy: psonek2@seznam.cz               
 QAContact: mono-bugs@ximian.com
 TargetMilestone: ---
@@ -86,6 +86,30 @@
 Additional Information: My opinion is that Mono works correctly here
 Exception under Mono seems logical to me. I am trying to serialize MyList
 class, that has no public constructor. But how is it possible to work under
 MS.NET? The reason must be, that MyList inherits from ArrayList.
+------- Additional Comments From rafaelteixeirabr@hotmail.com  2004-07-15 11:20 -------
+What version of .NET are you using? The xmlserialization in Whidbey is
+able to access private members, what upto 1.1 wasn't possible. Also
+XmlSerialization of collections depend on them implementing
+IEnumerable or the ICollection (See
+But In your example, you must check if the container field in MyList
+is getting reinstated (it should not in pre-2.0 .NET).
+Also as you didn't tag your MyList with something like:
+    [System.Xml.Serialization.XmlArray("Items")]
+    [System.Xml.Serialization.XmlArrayItem("item",typeof(Item))]
+    public MyList Items;
+You are forcing the serializer to play guess-what games about what to
+serialize/de-serialize. Please show the saved xml, for a better diagnosis.