der folgende Code spezifiziert einen Typ „MyBase64Binary“, die von einer Basisklasse „Testbase“XmlSerializer Konstruktor Fehler mit Klasse von einer Basisklasse abgeleitet
using System;
using System.Xml.Serialization;
using System.Collections;
using System.Xml.Schema;
using System.ComponentModel;
namespace Test
{
public class TestBase
{
public TestBase()
{
}
}
[XmlType(TypeName = "base64Binary"), Serializable]
public partial class MyBase64Binary : TestBase
{
[System.Xml.Serialization.XmlTextAttribute(DataType = "base64Binary")]
[EditorBrowsable(EditorBrowsableState.Advanced)]
public Byte[] __Value;
[XmlIgnore]
public Byte[] Value
{
get { return __Value; }
set { __Value = value; }
}
public MyBase64Binary()
{
}
}
}
abgeleitet ist, wenn ich versuche, eine XmlSerializer wie dieses
zu erstellenusing System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml.Serialization;
namespace Test1
{
class Program
{
static void Main(string[] args)
{
XmlSerializer s = new XmlSerializer(typeof(Test.MyBase64Binary));
}
}
}
von diesem dann bekomme ich eine InvalidOperationException Fehler:
{"There was an error reflecting type 'Test.MyBase64Binary'."}
Und die Inner Exception sagt mir folgendes:
Wenn ich nicht von der "TestBase" -Klasse ableiten, dann funktioniert alles gut.
Ich bekomme keine Lösung. Bitte helfen Sie.
Was ist los?
Grüße aus Deutschland
Jan
+1, das Problem ist das Attribut, es hat nichts mit der Basisklasse zu tun. –
Tanks! Scheint zu arbeiten! Aber warum funktioniert der Serializer, wenn er die Basisklasse auslässt und nicht ableitet? Sollte die Ausnahme nicht auch auftreten? –
@Jan Erleben Sie das gleiche Problem. Wenn die Basisklasse weggelassen wird, funktioniert es. Irgendwie seltsames Verhalten ... – Sven