我采用以下方式创建属性(带有后备字段):
private _firstName;
public string FirstName
{
get { return _firstName; }
set { _firstName = value; }
}
考虑到属性名称与后备字段的名称相似,我改进了内置的prop
代码片段如下:
<?xml version="1.0"?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
<CodeSnippet Format="1.0.0">
<Header>
<Title>prop</Title>
<Author>Frank Rizzo</Author>
<Description>Code snippet for property and backing field - changed one (not the original).</Description>
<Shortcut>prop</Shortcut>
<SnippetTypes>
<SnippetType>Expansion</SnippetType>
</SnippetTypes>
</Header>
<Snippet>
<Declarations>
<Literal>
<ID>type</ID>
<ToolTip>Property type</ToolTip>
<Default>int</Default>
</Literal>
<Literal>
<ID>property</ID>
<ToolTip>Property name</ToolTip>
<Default>MyProperty</Default>
</Literal>
<Literal>
<ID>field</ID>
<ToolTip>The variable backing this property</ToolTip>
<Default>myVar</Default>
</Literal>
</Declarations>
<Code Language="CSharp"><![CDATA[private $type$ _$field$;
public $type$ $field$
{
get { return _$field$;}
set { _$field$ = value;}
}
$end$
]]></Code>
</Snippet>
</CodeSnippet>
</CodeSnippets>
这个方法在一定程度上可行,但是备份字段和属性名称的大小写总是相同的,在我的习惯中,备份字段是驼峰式命名,而属性名称是帕斯卡式命名。
因此,我的问题是:语法片段是否有一种方式可以更改属性的首字母,以便该片段符合我的惯例?