さまざまな言語をサポートする XML ファイルを扱っています。XDocument/XElement (System.Xml.Serialization を使用) を使用して、この XML を C# クラスに解析したいと考えています。XML は少し複雑ですが、達成したいことは単純なはずですが、理解できません。
Basix XML の例:
<root>
<word_EN>Hello</word_EN>
<word_DE>Hallo</word_DE>
<word_FR>Bonjour</word_FR>
<root>
パーサーをどのように見せたいか:
[XmlRoot("root")]
public class Root
{
[XmlElement("word_" + LanguageSetting.SUFFIX)]
public string word { get; set; }
}
別のクラスから接尾辞を取得したいのですが、それを変更できるようにしたいと考えています。サフィックスを const 文字列として設定できますが、変更できません。グローバル変数の使用も機能しません。
static class LanguageSetting
{
private static string _suffix = "EN";
public static string SUFFIX
{
get { return _suffix; }
set { _suffix = value; }
}
}
エラー: 属性引数は、定数式、typeof 式、または属性パラメーター タイプの配列作成式でなければなりません
接尾辞を追加する適切な方法は何ですか?