J'ai une classe qui est décorée avec DataContract et ProtoContract (ImplicitFields = ImplicitFields.AllFields), l'un des membres et propriétés est Enum. Je suis en train de deepclone l'objet cependant lorsque la source a dans l'élément de ENUM la valeur qui est mis en correspondance à la valeur 0, après le clone je reçois la valeur par défautProblèmes DeepClone avec protobuf-net - using enums
La classe est:
public enum A {
A0 = 0,
A1 = 1,
A2 = 2
}
[ProtoContract(ImplicitFields = ImplicitFields.AllFields)]
public class Ac {
private A _aa = A.A2;
public string sa { get; set; }
public A aa { get { return _aa; } set { _aa = value; } }
}
Avec code sérialisation:
Ac a1 = new Ac();
a1.sa = "dfdf";
a1.aa = A.A0;
Ac a2 = new Ac();
a2.sa = "dfdf";
a2.aa = A.A1;
var sa1 = Serializer.DeepClone<Ac>(a1);
var sa2 = Serializer.DeepClone<Ac>(a2);
est-il possible que la valeur 0 est utilisée par défaut et ignorée à désirializetion? –