What is required is that he has a way to allow members numeric keys. This can take the form of built-in attributes - for example, it allows [DataContract]/ [DataMember(Order=key)], [XmlType]/ [XmlElement(Order=key)]or [ProtoContract]/ [ProtoMember(key)].
[DataContract], , , ; :
[ProtoContract(InferTagFromName = true)]
(, , . ). , , [DataMember] , Order. .
, [DataMember]; BinaryFormatter ( , ), XmlSerializer ( , ); , , !
[ProtoContract(ImplicitFields = ImplicitFields.AllPublic)]
; , , , , ; partial. , [ProtoPartialMember] . , :
[ProtoContract]
[ProtoPartialMember(key, memberName)]
[ProtoPartialMember(anotherKey, anotherMemberName)]
...
public partial class Order {}
, . , ([DataContract / [DataMember] , no Order`), - :
Serializer.GlobalOptions.InferTagFromName = true;
v2:
RuntimeTypeModel.Default.InferTagFromNameDefault = true;
v2 MetaType, , :
RuntimeTypeModel.Default.Add(typeof(Order), false)
.Add(key, memberName).Add(anotherKey, anotherMemberName);
1, 2, 3,... :
RuntimeTypeModel.Default.Add(typeof(Order), false)
.Add(memberName, anotherMemberName, ...);
( MetaType )
, !