[Mono-bugs] [Bug 56825][Cri] Changed - Error while serializing a class

bugzilla-daemon@bugzilla.ximian.com bugzilla-daemon@bugzilla.ximian.com
Tue, 13 Apr 2004 20:28:26 -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 eric@extremeboredom.net.

http://bugzilla.ximian.com/show_bug.cgi?id=56825

--- shadow/56825	2004-04-13 12:51:16.000000000 -0400
+++ shadow/56825.tmp.5303	2004-04-13 20:28:26.000000000 -0400
@@ -34,6 +34,70 @@
 
 XmlSerializer s = new XmlSerializer(typeof(MeshworkException));
 s.Serialize (Console.Out, new DirectoryNotFoundException());
 
 This will fail in mono, and in MS.NET.
 If you are not doing this, a self contained test would be of great help.
+
+------- Additional Comments From eric@extremeboredom.net  2004-04-13 20:28 -------
+MeshworkException is actually inside the "Content" variable of another
+class...
+
+<Xml.Serialization.XmlRoot("message"), _
+Xml.Serialization.XmlInclude(GetType(Node)), _
+Xml.Serialization.XmlInclude(GetType(ChatAction)), _
+Xml.Serialization.XmlInclude(GetType(ConnectionInfo)), _
+Xml.Serialization.XmlInclude(GetType(MeshworkException)), _
+Xml.Serialization.XmlInclude(GetType(DirectoryListing)), _
+Xml.Serialization.XmlInclude(GetType(FileSystemProvider.File)), _
+Xml.Serialization.XmlInclude(GetType(FileSystemProvider.Directory)), _
+Xml.Serialization.XmlInclude(GetType(InvalidNetworkNameException)), _
+Xml.Serialization.XmlInclude(GetType(VersionMismatchException)), _
+Xml.Serialization.XmlInclude(GetType(InvalidNicknameException)), _
+Xml.Serialization.XmlInclude(GetType(FileTransferFirewallException)), _
+Xml.Serialization.XmlInclude(GetType(FileTransferNoTransfersException)), _
+Xml.Serialization.XmlInclude(GetType(DirectoryNotFoundException)), _
+Xml.Serialization.XmlInclude(GetType(FileNotFoundException)), _
+Xml.Serialization.XmlInclude(GetType(SearchInfo)), _
+Xml.Serialization.XmlInclude(GetType(SearchResultInfo)), _
+Xml.Serialization.XmlInclude(GetType(SearchResult)), _
+Xml.Serialization.XmlInclude(GetType(RequestFileInfo))> _
+Public Class Message
+    Public Sub New()
+    End Sub
+
+    Public Sub New(ByVal _network As Network, ByVal _messageType As
+String)
+        NetworkName = _network.NetworkName
+        From = _network.LocalNode.NodeID
+        Type = _messageType
+    End Sub
+    <Xml.Serialization.XmlAttribute("Type")> Public Type As String
+    <Xml.Serialization.XmlAttribute("NetworkName")> Public NetworkName
+As String = ""
+    <Xml.Serialization.XmlAttribute("To")> Public [To] As String = ""
+    <Xml.Serialization.XmlAttribute("From")> Public From As String = ""
+    <Xml.Serialization.XmlAttribute("MessageID")> Public MessageID As
+String = ""
+    Public Content As Object
+End Class
+
+...
+
+The serialization looks like:
+
+Dim _serializedStr As String = SerializationWrapper.Serialize(obj)
+
+...
+
+    Public Shared Function Serialize(ByVal Obj As Object) As String
+        Dim sb As New StringBuilder
+        Dim HappyStringWriter As New StringWriterWithEncoding(sb,
+Encoding.Default)
+        Dim x As New XmlSerializer(Obj.GetType())
+        x.Serialize(HappyStringWriter, Obj)
+        Return HappyStringWriter.ToString()
+    End Function
+
+...
+
+Thank you very much for looking into this for me!