[Mono-list] XmlSerializer with Dictionary
Gert Driesen
gert.driesen at telenet.be
Thu Jan 19 14:53:07 EST 2006
Hi Colin,
I'm looking into fixing quite some (compatibility) issues in XmlSerializer
(and XmlSchemaExporter, XmlReflectionImporter, SoapReflectionImporter, ...).
Please submit a bug report for this and feel free to assign it to me.
Gert
> -----Original Message-----
> From: mono-list-bounces at lists.ximian.com
> [mailto:mono-list-bounces at lists.ximian.com] On Behalf Of
> Colin JN Breame
> Sent: woensdag 18 januari 2006 22:32
> To: mono-list at lists.ximian.com
> Subject: [Mono-list] XmlSerializer with Dictionary
>
> Hello,
>
> When I try to xml serialise a generic dictionary (e.g.
> Dictionary<string,string>), I get the exception:
>
> System.InvalidOperationException: You must implement a
> default accessor on
> System.Collections.Generic.Dictionary`2[snip] because it
> inherits from
> ICollection
>
> This looks like it could be a bug but then again I'm not even
> sure it is
> possible to serialise a generic dictionary. Any pointers would be
> appreciated.
>
> Cheers,
> Colin
>
>
> test program:
>
> using System.Collections.Generic;
> using System.IO;
> using System.Xml.Serialization;
>
> public class main_t {
> public static void Main() {
> Dictionary<string, string> test = new Dictionary<string,
> string>();
> StreamWriter writer = new StreamWriter("output");
>
> XmlSerializer serialiser = new
> XmlSerializer(typeof(Dictionary<string,
> string>));
> serialiser.Serialize(writer, test);
> }
> }
>
>
> exception:
>
> Unhandled Exception: System.InvalidOperationException: You
> must implement a
> default accessor on
> System.Collections.Generic.Dictionary`2[[System.String,
> mscorlib, Version=2.0.0.0, Culture=neutral,
> PublicKeyToken=b77a5c561934e089],
> [System.String, mscorlib, Version=2.0.0.0, Culture=neutral,
> PublicKeyToken=b77a5c561934e089]] because it inherits from ICollection
> in <0x001f7> System.Xml.Serialization.TypeData:get_ListItemType ()
> in <0x0001f> System.Xml.Serialization.TypeData:get_ListItemTypeData ()
> in <0x00145> System.Xml.Serialization.TypeData:.ctor
> (System.Type type,
> System.String elementName, Boolean isPrimitive,
> System.Xml.Serialization.TypeData mappedType,
> System.Xml.Schema.XmlSchemaPatternFacet facet)
> in <0x00019> System.Xml.Serialization.TypeData:.ctor
> (System.Type type,
> System.String elementName, Boolean isPrimitive)
> in <0x0032b>
> System.Xml.Serialization.TypeTranslator:GetTypeData (System.Type
> type, System.String xmlDataType)
> in <0x0000c>
> System.Xml.Serialization.TypeTranslator:GetTypeData (System.Type
> type)
> in <0x0005a>
> System.Xml.Serialization.XmlReflectionImporter:ImportTypeMapping
> (System.Type type, System.Xml.Serialization.XmlRootAttribute root,
> System.String defaultNamespace)
> in <0x0009d> System.Xml.Serialization.XmlSerializer:.ctor
> (System.Type type,
> System.Xml.Serialization.XmlAttributeOverrides overrides,
> System.Type[]
> extraTypes, System.Xml.Serialization.XmlRootAttribute root,
> System.String
> defaultNamespace)
> in <0x00015> System.Xml.Serialization.XmlSerializer:.ctor
> (System.Type type)
>
>
>
>
>
> _______________________________________________
> Mono-list maillist - Mono-list at lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-list
>
More information about the Mono-list
mailing list