Meine Klasse sieht wie folgt aus:C# XML Deserializer nicht konstruieren Objekt richtig
public class MyClass
{
private void MyClass() { } //just to satisfy the XML serializer
public void MyClass(int a, int b)
{
A = a;
B = b;
C = a + b;
}
public int A { get; set; }
public int B { get; set; }
public int C { get; private set; } //private set is only to
//satisfy the XML Serializer
public void DoSomeMath()
{
Console.WriteLine("{0} + {1} = {2}\n", A, B, C)
}
}
Das funktioniert gut, wenn ich mein eigenes myClass Objekt mit & b Parameter instanziiert, aber der Deserializer nur den paramaterless Konstruktor aufrufen. Wie initialisiere ich C, ohne eine andere Methode zu erstellen und nach der Deserialisierung aufzurufen?
Es gibt Serialisierung Ereignisse für diese die Serializer sind Sie jedes mit unterschiedlichen ist – Jim
'System.Xml.Serialization.XmlSerializer' –
Wenn deseralized sollte die Werte von A, B und C als die gleichen Werte zurückbringen als es serialisiert wurde. Sie waren also 1, 2 und 3, wenn sie gespeichert wurden, sollten sie nach der Deserialisierung wieder 1, 2 und 3 sein. Daher ist mit Ihrem Code nichts falsch. –