Los campos públicos / propiedades de una clase derivada de BindingList <T> no se serializarán

Estoy tratando de serializar una clase que se deriva deEncuadernaciónList (Piso), dóndePiso Es una clase simple que solo contiene una propiedad.Piso.alto

Aquí hay una versión simplificada de mi clase.

[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; }
    }
}

Serializaré una instancia de CustomBindingList usando el siguiente código.

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();

TodavíatestString Lo anterior termina estableciéndose en el siguiente 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>"

¿Cómo obtengo "publicField" o "publicProperty para serializar también?

Respuestas a la pregunta(3)

Su respuesta a la pregunta