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 プロパティを適切に作成することは可能ですか?
どうもありがとう!