Sérialiser une classe dérivée avec une propriété redéfinie.

Résolu
EmacLi Messages postés 165 Date d'inscription jeudi 3 novembre 2005 Statut Membre Dernière intervention 1 février 2013 - 23 juin 2008 à 11:08
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 - 23 juin 2008 à 23:18
Bonjour,

J'ai une classe B qui dérive d'une classe A.
J'ai ajouté à une propriété de la classe B le mot clé "new" pour la redéfinir (nom de la prop. identique à la classe A mais pas le type).

Et je n'arrive pas à sérialiser la classe B.

Quelqu'un a une idée ?

Merci d'avance

(frk 3.5, vs2008)

4 réponses

cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
23 juin 2008 à 23:18
3
EmacLi Messages postés 165 Date d'inscription jeudi 3 novembre 2005 Statut Membre Dernière intervention 1 février 2013 1
23 juin 2008 à 11:09
La classe B est dérivé et non abstraite, ne fait pas attention au titre dsl
0
billou_13 Messages postés 860 Date d'inscription jeudi 4 mars 2004 Statut Membre Dernière intervention 19 août 2014 29
23 juin 2008 à 11:27
Bonjour,

J'ai peur de pas bien comprendre ta question. Peux-tu envoyer le code de ta classe ? (ou un exemple qui ne fonctionne pas).


Car, j'ai tendance à croire que ton problème est similaire à un autre que j'avais rencontré et résolu en ajoutant:
[XmlInclude(typeof("classe B"))]
au dessus de la définition de la classe qui contenait une collection de "classe A".

Ce qui donne:
[XmlInclude(typeof(classe B))]
public class ClassACollection : ICollection<"classe A">
{
...
}


Mais, je ne suis pas sûr que ce soit cela que tu recherches.


Billou_13
0
EmacLi Messages postés 165 Date d'inscription jeudi 3 novembre 2005 Statut Membre Dernière intervention 1 février 2013 1
23 juin 2008 à 14:08
Classe A :







[

Serializable
()]


public



class



ProcessEdifact



{





#region




Propriétés








private



ProcessEdifact
.

EdifactStructure
esDataStructure;[


XmlElement
(IsNullable =

false
)]


public



ProcessEdifact
.

EdifactStructure
DataStructure{


get
{

return
esDataStructure; }


set
{ esDataStructure =

value
; }}



#endregion









Classe B :

[Serializable()]

public



class



ProcessEdifice
:

ProcessEdifact

{





#region



Propri‚t‚s


private



ProcessEdifice
.

EdificeStructures
esDataStructure;








public



new



ProcessEdifice
.

EdificeStructures
DataStructure{


get
{

return
esDataStructure; }


set
{ esDataStructure =

value
; }}
0
Rejoignez-nous