1

Activator(C#) を使用してオブジェクトを動的に作成していますが、これらのクラスの 1 つが次のようになります。

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
}

Activator を使用して Driver クラスのインスタンスを作成すると、次のオブジェクトが取得されます。

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

ItemElementName は列挙型であるためデフォルトで設定されていますが、この列挙型に基づいている場合、Item を設定するにはどうすればよいですか? 繰り返しになりますが、Activator を使用して多くのオブジェクトを動的に作成しているため、ハードコードできません。この情報をクラスで取得して、Item プロパティを適切に作成することは可能ですか?

どうもありがとう!

4

1 に答える 1