Создать объект на основе XmlChoiceIdentifier

Я создаю объекты динамически, используя Activator (C #), и один из этих классов выглядит следующим образом:

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
}

Когда я создаю экземпляр класса Driver с помощью Activator, я получаю следующий объект:

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

ItemElementName устанавливается по умолчанию, потому что его перечисление, но как установить Item, если оно основано на этом перечислении? Еще раз, я динамически создаю много объектов с помощью Activator, поэтому я не могу жестко закодировать его - возможно ли получить эту информацию в классе и правильно создать свойство Item?

Большое спасибо!

Ответы на вопрос(1)

Ваш ответ на вопрос