Utwórz obiekt na podstawie XmlChoiceIdentifier

Tworzę obiekty dynamicznie za pomocą Aktywatora (C #), a jedna z tych klas wygląda następująco:

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
}

Kiedy tworzę instancję klasy Driver za pomocą Activatora, otrzymuję następujący obiekt:

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

Nazwa elementu ItemElementName jest ustawiona domyślnie, ponieważ jest wyliczana, ale jak ustawić element, jeśli jest oparty na tym wyliczeniu? Po raz kolejny dynamicznie tworzę wiele obiektów za pomocą Activatora, więc nie mogę go hardcode - jest możliwe, aby uzyskać te informacje w klasie i poprawnie utworzyć właściwość Item?

Wielkie dzięki!

questionAnswers(1)

yourAnswerToTheQuestion