Frage

Gibt es eine Möglichkeit, die ich, wie rendert eine Literal einen Code-Schnipsel ändern kann, wenn es in dem Code verwendet wird, der das Snippet erzeugt?

Insbesondere würde ich gerne wissen, ob ich eine wörtliche sagen genannt haben kann, $ $ Propertyname und dann das Snippet-Engine erhalten zu machen „_ $ $ Propertyname, wo das erste Zeichen Klein gemacht wird.

Ich kann nicht leisten R #. Bitte helfen:)

War es hilfreich?

Lösung

Leider scheint es keinen Weg zu geben. Snippets bieten erstaunlich begrenzte Unterstützung für Transformationsfunktionen, wie Sie sehen kann.

Sie müssen mit der VS-Standardlösung halten, die zwei Literale zu schreiben ist. Ein für die Eigenschaftsnamen und die andere für den Membervariable Namen

Andere Tipps

ein „reparieren“ kann einen Präfix in der Namensgebung verwenden oder die Membervariable, das heißt:.

string m_$name$;
string $name$
{
 get{return m_$name$;}
 set{m_$name$=value;}
};

Sie können einen oberen ersten Buchstaben eingeben, dann einen Eigenschaftsnamen, dann eine niedrigere Anfangsbuchstaben. Versuchen Sie, diese Schnipsel:

<?xml version="1.0" encoding="utf-8"?>
<CodeSnippet Format="1.0.0" xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
  <Header>
    <Title>Notifiable Property</Title>
    <Author>Nikolay Makhonin</Author>
    <Shortcut>propn</Shortcut>
    <Description>Property With in Built Property Changed method implementation.</Description>
    <SnippetTypes>
      <SnippetType>SurroundsWith</SnippetType>
      <SnippetType>Expansion</SnippetType>
    </SnippetTypes>
  </Header>
  <Snippet>
    <Declarations>
        <Literal>
            <ID>Type</ID>
            <Default>Type</Default>
        </Literal>
        <Literal>
            <ID>P</ID>
            <Default>P</Default>
        </Literal>
        <Literal>
            <ID>roperty</ID>
            <Default>ropertyName</Default>
        </Literal>
        <Literal>
            <ID>p</ID>
            <Default>p</Default>
        </Literal>
        <Literal>
            <ID>Ownerclass</ID>
            <ToolTip>The owning class of this Property.</ToolTip>
            <Function>ClassName()</Function>
            <Default>Ownerclass</Default>
        </Literal>
    </Declarations>
    <Code Language="CSharp">
      <![CDATA[#region $P$$roperty$

        private Field<$Type$> _$p$$roperty$;
        public static readonly string $P$$roperty$PropertyName = GetPropertyName(() => (($Ownerclass$)null).$P$$roperty$);
        public $Type$ $P$$roperty$
        {
            get { return _$p$$roperty$; }
            set { Set(ref _$p$$roperty$, value); }
        }

        #endregion

]]>
    </Code>
  </Snippet>
</CodeSnippet>
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top