L'objet [] mList contient tous les objets que la collection enfant souhaite afficher. Ceci est supposé être une classe wrapper factice pour le reste des collections d'objets plus spécifiées.ProtoBuf-Net: Hérite de [ProtoMember] de type object [] à partir d'une classe parent
[ProtoInclude(98, typeof(Object1CollectionProto))]
[ProtoInclude(99, typeof(Object2CollectionProto))]
[ProtoInclude(100, typeof(Object3CollectionProto))]
public class ObjectCollectionProto
{
protected ObjectType mCollectionType;
protected object[] mList;
public ObjectCollectionProto(){}
[ProtoMember(1), DefaultValue(ObjectType.Base)]
public ObjectType CollectionType //enumeration for type
{
get { return mCollectionType; }
set { mCollectionType = value;}
}
[ProtoMember(2)]
public object[] List
{
get { return mList; }
set { mList = value;}
}
}
Ensuite, nous avons une classe d'enfant par exemple de l'emballage factice ci-dessus qui est censé hériter l'objet [] de celui-ci est le type désiré.
[ProtoContract]
public class Object1CollectionProto : ObjectCollectionProto
{
public Object1CollectionProto()
{
}
}
Comment puis-je aller sur la définition de la hiérarchie de classe afin que Object1CollectionProto hérite d'un objet [] MLIST comme une liste de ce Object1 qui peut être publié en feuilleton? Object1 peut être sérialisé dans mon cas déjà. Juste pas la version de collection d'entre eux.
'object []' ne fonctionne tout simplement pas. Je ne peux pas penser à de "bonnes" façons de résoudre cela, mais en regardant vos données, je suis confus pourquoi vous ne pouvez pas simplement remplacer 'ObjectCollectionProto' avec' List '... –
Je l'ai vu dans un autre poste, donc je le ferai de cette façon! Merci Marc! – jStaff