Es XmlRootAttribute heredable?

Tengo una clase que estoy serializando con C # 'sXmlSerializer. Está marcado con elXmlRoot atributo, y me gustaría heredar este atributo en una clase derivada.

Mirando la documentación, no dice que XmlRoot establece Heredar en falso con AttributeUsageAttribute (se supone que Heredar se establece de forma predeterminada en verdadero), pero aparece un error al intentar deserializar mi clase heredada sin un atributo XmlRoot ("<rootNode xmlns = '' > no se esperaba ").

Esto funciona actualmente:

[Serializable()]
[XmlRoot("rootNode")]
public class BaseClass
{
    [XmlAttribute("attributeA")]
    public int A { get; set; }
}

[Serializable()]
[XmlRoot("rootNode")]
public class InheritedClass : BaseClass
{
    [XmlElement("elementB")]
    public int B { get; set; }
}

Esto no funciona, pero es lo que quiero:

[Serializable()]
[XmlRoot("rootNode")]
public class BaseClass
{
    [XmlAttribute("attributeA")]
    public int A { get; set; }
}

[Serializable()]
public class InheritedClass : BaseClass
{
    [XmlElement("elementB")]
    public int B { get; set; }
}

El XML que podría intentar deserializar comoInheritedClass Se ve como esto:

<rootNode attributeA="abc">
    <elementB>123</elementB>
</rootNode>

Respuestas a la pregunta(1)

Su respuesta a la pregunta