Erstellen Sie ein Objekt basierend auf XmlChoiceIdentifier

Ich erstelle Objekte dynamisch mit Activator (C #) und eine dieser Klassen sieht folgendermaßen aus:

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
}

Wenn ich mit Activator eine Instanz der Treiberklasse erstelle, erhalte ich folgendes Objekt:

obj.Item = null;
obj.ItemElementName = "Bit16"

ItemElementName wird standardmäßig festgelegt, da es eine Aufzählung gibt. Wie wird Item festgelegt, wenn es auf dieser Aufzählung basiert? Wieder einmal erstelle ich viele Objekte dynamisch mit Activator, daher kann ich sie nicht hart codieren. Ist es möglich, diese Informationen in der Klasse abzurufen und die Item-Eigenschaft ordnungsgemäß zu erstellen?

Danke vielmals!

Antworten auf die Frage(1)

Ihre Antwort auf die Frage