Itemに含まれる可能性のあるタイプをリストしようとしています。ただし、 Item.GetType() を呼び出してその属性をループすることはできません。これは、既に含まれている型の属性を返すだけなのでです。
TypeDescriptor.GetProperties(...)を試しましたが、Attributes コンテナーには、プロパティ (この場合は WindowTemplate) に最後に適用されたXmlElementAttributeのインスタンスが 1 つしか含まれていません。
これは些細なことですが、オンラインで問題の解決策を見つけることができません。
[System.Xml.Serialization.XmlElementAttribute("ChildTemplate", typeof(ChildTmpl), Order = 1)]
[System.Xml.Serialization.XmlElementAttribute("WindowTmeplate", typeof(WindowTmpl), Order = 1)]
public object Item
{
get
{
return this.itemField;
}
set
{
this.itemField = value;
}
}