XML
現在のプロジェクトでは、クラスを使用して一般的な作成者を作成しようとしています-作成者がこのコンテキストで使用しているクラスのタイプに基づいて、十分に単純なセットをXmlSerializer
持つために、クラスの1つに特定の要素が必要です。ElementName
次に例を示します。
public abstract class ElementTypeBase
{
public abstract string ElementName { get; }
}
public class ElementTypeA : ElementTypeBase
{
public override string ElementName
{
get { return "ElementA"; }
}
}
次に、これをXML
オブジェクトクラスに渡します。このクラスは、に使用されますXmlSerializer
がElementName
、タイプに固有のものにする必要があります。
public class XMLObject<T> where T : ElementTypeBase
{
[XmlElement(Activator.CreateInstance<T>().ElementName)]
public string SomeElement;
}
私はそれができると思っていましたが、次のようになります。
属性の引数は、定数式、typeof式、または属性パラメーターtypeの配列作成式である必要があります。
だからできると思ったのですoverride ToString()
が、うまくいかず、定数を使うことを考えていたのですが、汚い感じがします。他に何か提案はありますか?