2009-10-21 15 views
7

Dato il "MagicName" corretto (era qualcosa come "CanSerialize"), il seguente codice eliminerebbe xml per gli elenchi vuoti.nome magico per sopprimere XmlSerialization di un elenco vuoto

Qual era quel nome magico?

public class MyClass { 
    public List<int> MyList{ get; set; } 
    public bool MyListMagicName() { return MyList.Count != 0; } 
    public MyClass() { MyList = new List<int>(); } 
} 

risposta

7

io cosa si fa riferimento alla convenzione di denominazione ShouldSerialize*PropertyName* metodo, ma per quanto ne so questo non si riferisce alla serializzazione XML, ma per immobili componente serializzazione in Windows Form (posso sbagliarmi comunque). Vedi qui: http://msdn.microsoft.com/en-us/library/53b8022e%28VS.71%29.aspx

UPDATE. Sembra che funzioni anche per la serializzazione XML, ma è una funzionalità non documentata: http://horacegoescoding.blogspot.com/2009/04/using-shouldserialize-for-conditional.html

+0

Markdown comment: volevo che la parte "ShouldSerialize" fosse in grassetto e la parte "PropertyName" in grassetto e in corsivo, non circondata da asterischi . Abbastanza divertente, la finestra di anteprima mostrata in modalità di modifica mostra la formattazione desiderata! – Konamiman

+0

Vedi anche: http://www.devolutions.net/articles/serialization.aspx#S222 –

Problemi correlati