Pregunta

Me he decidido por el siguiente estilo de crear propiedades (con un campo de respaldo):

private _firstName;
public string FirstName
{
    get { return _firstName; }
    set { _firstName = value; }
}

Teniendo en cuenta que el nombre de la propiedad es similar al nombre del campo respaldo, he mejorado el construido en el fragmento prop a lo siguiente:

<?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>

Esto funciona hasta cierto punto, pero la carcasa del campo respaldo y el nombre de propiedad es siempre la misma, mientras que en mi convención, el campo de soporte es de camello entubado, donde como el nombre de la propiedad es-Pascal entubado.

Así que mi pregunta es la siguiente:? No la sintaxis fragmento tiene una manera de cambiar la primera letra de la propiedad, por lo que el fragmento podría cumplir con mi convención

¿Fue útil?

Solución

Por desgracia, esto no es posible (aún).

Con suerte, será posible en una versión futura de Visual Studio.

Otros consejos

<CodeSnippet Format="1.0.0" xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
  <Header>
    <Title>Code File Header</Title>
    <Author>Муся</Author>
    <Shortcut>codehead</Shortcut>
    <Description>Гавнокодец</Description>
    <SnippetTypes>
      <SnippetType>Expansion</SnippetType>
    </SnippetTypes>
  </Header>
  <Snippet>
    <Declarations>
      <Literal>
        <ID>Name</ID>
        <Default>Header</Default>
      </Literal>
      <Literal>
        <ID>LowerName</ID>
        <Default>header</Default>
      </Literal>
      <Literal>
        <ID>Type</ID>
        <Default>object</Default>
      </Literal>
    </Declarations>
    <Code Language="CSharp">
      <![CDATA[
        public $Type$ $Name$
        {
            get { return $LowerName$; }
            set
            {
                $LowerName$ = value;
                OnPropertyChanged("$Name$");
            }
        }
        $Type$ $LowerName$;
      ]]>
    </Code>
  </Snippet>
</CodeSnippet>
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top