Avatar billede akempff Nybegynder
20. april 2005 - 18:27 Der er 1 løsning

Serialiserbar klasse der kan have forskellige datatyper

Hej Eksperter.
Jeg prøver at løse hvordan jeg kan have en klasse der kan indeholde enten en streng eller en anden af mine klasser.

Det skal (de-)serialisere med samme tag:
f.eks
<Data>212</data>

eller
<Data><Nyklasse><a>1</a><b>2</b></Nyklasse></data>

Jeg har forsøgt mig med at lave en container klasse der har et Object som XmlElement, og der virker lige bortset fra at hvis der kommer en streng så kommer typen på alligevel:
altså <Data><String>212</String></Data>

Er der nogen forslag til hvordan det kan gøres?
Avatar billede akempff Nybegynder
21. april 2005 - 13:12 #1
Fik det løst. Sådan her så min løsning ud, hvis der er er andre med smme problem engang:

[Serializable()]   
    public class Data
    {
        ArrayList data;
       
        public Data(){data = new ArrayList();}
        [XmlText(typeof(string))]
        [XmlElement(typeof(Anchor), Namespace = "syncml:metinf")]
        [XmlElement(typeof(DevInf), Namespace = "syncml:devinf")]
        public ArrayList datalist
        {       
            get{return data;}
            set{data = value;}
        }
       
    }
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester