C# 如何使用属性的属性创建元素

C# 如何使用属性的属性创建元素,c#,.net,xml-serialization,C#,.net,Xml Serialization,我正在.net中使用xml的序列化。我有一个叫做tier的属性: public string tier { get; set; } 序列化对象时,我希望获得的最终结果是: <settings> //Where the value is the value of the tier property <setting name="tier" value="2" /> </settings> //其中,值是层属性的值 使用该属性可以使用哪些

我正在.net中使用xml的序列化。我有一个叫做tier的属性:

public string tier { get; set; }
序列化对象时,我希望获得的最终结果是:

<settings>
    //Where the value is the value of the tier property
    <setting name="tier" value="2" /> 
</settings>

//其中,值是层属性的值

使用该属性可以使用哪些xml序列化属性来完成此任务?

简单地说,
XmlSerializer
不直接支持此场景。它可以处理:

<foo><tier>2</tier></foo>

不是完全自动化的序列化,但它完成了任务。

我认为使用序列化属性无法实现这一点。您的对象还有其他属性吗?这些属性也应该作为
设置
元素?@programmer93包装属性
tier=“2”
@lazyberezovsky我想这就是他想要的??看看XmlAttributeAttribute。是的,我的“installfile”对象有其他属性,但这些都不会进入我正在尝试创建的设置元素。我正在考虑一些重组。我没有使用简单的字符串属性,而是考虑将其包装在一个“设置”类中,该类中有两个成员……“名称”和“值”,然后将[xmlattribute]应用于这些成员,[xmlelement]应用于实际的类。对这种方法有什么想法吗?
<foo tier="2"/>
var setting = new Setting { tier = "2" };

var xml = new XElement("settings", new XElement("setting",
    new XAttribute("tier", setting.tier)));