Öffentliche Felder / Eigenschaften einer von BindingList <T> abgeleiteten Klasse werden nicht serialisiert

Ich versuche, eine Klasse zu serialisieren, die von abgeleitet istBindingList (Floor), woherFußboden ist eine einfache Klasse, die nur eine Eigenschaft enthältBoden.Höhe

Hier ist eine vereinfachte Version meiner Klasse

[Serializable]
[XmlRoot(ElementName = "CustomBindingList")]
public class CustomBindingList:BindingList<Floor>
{
    [XmlAttribute("publicField")]
    public string publicField;
    private string privateField;

    [XmlAttribute("PublicProperty")]
    public string PublicProperty
    {
        get { return privateField; }
        set { privateField = value; }
    }
}

Ich serialisiere eine Instanz von CustomBindingList mit dem folgenden Code.

XmlSerializer ser = new XmlSerializer(typeof(CustomBindingList));
StringWriter sw = new StringWriter();

CustomBindingList cLIst = new CustomBindingList();

Floor fl;

fl = new Floor();
fl.Height = 10;
cLIst.Add(fl);

fl = new Floor();
fl.Height = 10;    
cLIst.Add(fl);

fl = new Floor();
fl.Height = 10;
cLIst.Add(fl);

ser.Serialize(sw, cLIst);

string testString = sw.ToString();

NochtestString Oben endet die Einstellung auf das folgende XML:

<CustomBindingList xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\">
    <Floor Height="10" />
    <Floor Height="10" />
    <Floor Height="10" />
</CustomBindingList>"

Wie kann ich "publicField" oder "publicProperty" auch serialisieren?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage