Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: Serializace privátních položek a ingorování některých

Aktivity
Avatar
Petr Nymsa
Tvůrce
Avatar
Petr Nymsa:21.11.2013 13:44

Ahoj, potřeboval bych serializovat přes XmlSerializer nebo něco podobného třídy do XML. Pro ignorování lze použít

[XmlIgnoreAttribute]
Lze nějak u private položky ? Našel jsem DataContractSerializer ale ten nelze použít ve WinForm (nebo nechce se mi přidat potřebné namespace)
Odpovědět
21.11.2013 13:44
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
coells
Tvůrce
Avatar
Odpovídá na Petr Nymsa
coells:21.11.2013 15:13

XmlSerializer podporuje pouze serializaci public fields a public properties (musí mít public getter i setter).

Private members nejsou implicitně podporovány, ale můžeš implementovat interface IXmlSerializable, kde ručně čteš a zapisuješ XML - http://msdn.microsoft.com/…lizable.aspx

DataContractSe­rializer je v System.Runtime­.Serialization­.dll, kterou musíš nejdřív přidat do projektových referencí. V tom případě se také vyžaduje minimálně .NET framework 3.0.

DataContractSe­rializer je novější a umí o trochu méně, než XmlSerializer, ale pokud nemusíš vytvářet XML podle cizího XML Schema, tak je to lepší varianta.

Třídu označ atributem [DataContract] a serializované membery [DataMember].

 
Nahoru Odpovědět
21.11.2013 15:13
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 2 zpráv z 2.