Crear objeto basado en XmlChoiceIdentifier
Estoy creando objetos dinámicamente utilizando Activator (C #) y una de estas clases tiene el siguiente aspecto:
class Driver
{
Driver() { }
[XmlChoiceIdentifier("ItemElementName")]
[XmlElement("Bit16", typeof(DriverModule))]
[XmlElement("Bit32", typeof(DriverModule))]
[XmlElement("Bit64", typeof(DriverModule))]
[XmlElement("Unified", typeof(DriverUnified))]
public object Item { get; set; }
[XmlIgnore]
public ItemChoiceType ItemElementName { get; set; }
// ... other serialization methods
}
Cuando creo una instancia de la clase Driver con Activator obtengo el siguiente objeto:
obj.Item = null;
obj.ItemElementName = "Bit16"
ItemElementName se establece de forma predeterminada, debido a su enumeración, pero ¿cómo establecer el elemento si se basa en esta enumeración? Una vez más, estoy creando muchos objetos dinámicamente con Activator, por lo que no puedo codificarlo por error. ¿Es posible obtener esta información en clase y crear la propiedad del artículo correctamente?
¡Muchas gracias!