Ma classe ressemble à ceci:C# XML objet désérialiseur ne pas construire correctement
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)
}
}
Cela fonctionne bien quand j'instancier mon propre objet myClass avec & paramètres b, mais le désérialiseur n'appeler le constructeur de paramaterless. Comment initialiser C sans créer une autre méthode et l'appeler après la désérialisation?
Il y a des événements de sérialisation pour ce qui sérialiseur vous utilisez chacun est différent – Jim
'System.Xml.Serialization.XmlSerializer' –
Quand deseralized il devrait ramener les valeurs de A, B et C les mêmes valeurs quand il a été sérialisé. Donc, ils étaient 1, 2 et 3 lorsqu'ils ont été sauvés, ils devraient à nouveau être 1, 2 et 3 après désérialisé. Par conséquent, il n'y a rien de mal avec votre code. –