[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!