___ antwort18991290 ___
Ich habe diese Ausnahme auch bekommen, aber es war nicht so, dass ein Standardkonstruktor fehlte. Ich hatte einige zusätzliche Eigenschaften (a List
und Dictionary
), die nicht Teil des XML-Dokuments sind.
Das Dekorieren dieser Eigenschaften mit [XmlIgnore]
hat das Problem für mich gelöst.
___ answer2498243 ___
Um Ihren Typ serialisieren / deserialisieren zu können, benötigt er einen parameterlosen Konstruktor. Sehen Sie sich hier an:
Eine Klasse muss einen Standardkonstruktor haben, von dem serialisiert werden kann
XmlSerializer.
___ qstnhdr ___ Warum wirft XmlSerializer eine InvalidOperationException?
___ answer13571569 ___
Sie können dies umgehen, indem Sie einen Standardkonstruktor bereitstellen, der den überladenen Konstruktor aufruft. Zum Beispiel:
%Vor%
___ tag123net ___ Das .NET-Framework ist ein Software-Framework, das hauptsächlich für das Microsoft Windows-Betriebssystem entwickelt wurde. Es enthält eine Implementierung der Basisklassenbibliothek, Common Language Runtime (allgemein als CLR bezeichnet), Common Type System (allgemein als CTS bezeichnet) und Dynamic Language Runtime. Es unterstützt viele Programmiersprachen, einschließlich C #, VB.NET, F # und C ++ / CLI. NICHT für Fragen zu .NET Core verwenden.
___ tag123exception ___ Eine Ausnahme ist eine ungewöhnliche Bedingung, die eine Abweichung vom normalen Ablauf des Programms erfordert. Normalerweise sollte eine Ausnahme nicht zu einem Totalausfall führen, sondern stattdessen von einem Ausnahmebehandler begleitet werden. Die Ausnahmebehandlung ist ein eingebautes Konstrukt in vielen Programmiersprachen. In der Regel werden Ausnahmen behandelt, indem der Stapel abgewickelt wird und somit in einen definierten Zustand außerhalb des Gültigkeitsbereichs der Ausnahme zurückversetzt wird und dann ein Verarbeitungsblock oder eine Routine aufgerufen wird.
___ answer2498246 ___
oh .. Ich wusste nicht, dass es zusätzliche Informationen hatte (musste auf "Details anzeigen" klicken.), Rätsel gelöst:
Message = SDB.DatabaseInformation kann nicht
serialisiert werden, weil es nicht hat
ein parameterloser Konstruktor.
___ tag123invalidoperationexception ___ Die Ausnahme, die ausgelöst wird, wenn ein Methodenaufruf für den aktuellen Status des Objekts ungültig ist.
___ tag123c ___ C # (sprich "Cis") ist eine objektorientierte Programmiersprache auf hohem Niveau, die für die Erstellung einer Vielzahl von Anwendungen entwickelt wurde, die auf dem .NET Framework (oder .NET Core) ausgeführt werden. C # ist einfach, leistungsfähig, typsicher und objektorientiert.
___ qstntxt ___
%Vor%
Dies ist die ganze Klasse, wenn Sie sie brauchen:
%Vor%
(PS: Wenn Sie irgendwelche Tipps haben, um meinen Code zu verbessern, können Sie ihn teilen, ich bin ein C # Anfänger)
___