使用 SyntaxGenerator 向 属性 添加属性
Adding Attribute to a Property Using SyntaxGenerator
我正在使用 SyntaxGenerator 即时创建一些代码。我需要向 属性 添加一个属性。这是我拥有的:
var g = // some SyntaxGenerator
var attributes = new List<SyntaxNode>
{
g.Attribute("System.Xml.Serialization.XmlAttributeAttribute")
};
var property = g.PropertyDeclaration(
name, // The property name
type, // A SyntaxNode resembling the type
accessibility: Accessibility.Public,
getAccessorStatements: getModifiers,
setAccessorStatements: setModifiers);
g.AddAttributes(property, attributes); // Does nothing
我想让属性显示如下:
[System.Xml.Serialization.XmlAttributeAttribute()]
public string Id
{
get
{
return this.id;
}
set
{
this.id = value;
}
}
如何添加属性?
原来我忘了这样做(一个简单的赋值,因为 AddAttributes() 创建了一个新的 SyntaxNode 实例:
property = g.AddAttributes(property, attributes);
我正在使用 SyntaxGenerator 即时创建一些代码。我需要向 属性 添加一个属性。这是我拥有的:
var g = // some SyntaxGenerator
var attributes = new List<SyntaxNode>
{
g.Attribute("System.Xml.Serialization.XmlAttributeAttribute")
};
var property = g.PropertyDeclaration(
name, // The property name
type, // A SyntaxNode resembling the type
accessibility: Accessibility.Public,
getAccessorStatements: getModifiers,
setAccessorStatements: setModifiers);
g.AddAttributes(property, attributes); // Does nothing
我想让属性显示如下:
[System.Xml.Serialization.XmlAttributeAttribute()]
public string Id
{
get
{
return this.id;
}
set
{
this.id = value;
}
}
如何添加属性?
原来我忘了这样做(一个简单的赋值,因为 AddAttributes() 创建了一个新的 SyntaxNode 实例:
property = g.AddAttributes(property, attributes);