Codeausschnittfunktionen
Aktualisiert: November 2007
Drei Funktionen stehen für die Verwendung mit Visual C#-Codeausschnitten zur Verfügung. Funktionen werden im Function-Element (IntelliSense-Codeausschnitte)-Element des Codeausschnitts angegeben. Informationen zum Erstellen von Codeausschnitten finden Sie unter Erstellen und Verwenden von IntelliSense-Codeausschnitten.
Funktionen
In der folgenden Tabelle werden die zur Verwendung mit dem Function-Element in Codeausschnitten verfügbaren Funktionen beschrieben.
Funktion |
Beschreibung |
Programmiersprache |
---|---|---|
GenerateSwitchCases(EnumerationLiteral) |
Generiert eine switch-Anweisung und eine Gruppe von case-Anweisungen für die Member der durch den EnumerationLiteral-Parameter angegebenen Enumeration. Der EnumerationLiteral-Parameter muss entweder ein Verweis auf ein Enumerationsliteral oder ein Enumerationstyp sein. |
Visual C# |
ClassName() |
Gibt den Namen der Klasse zurück, die den eingefügten Ausschnitt enthält. |
Visual C# |
SimpleTypeName(TypeName) |
Reduziert den TypeName-Parameter im Kontext, in dem der Ausschnitt aufgerufen wurde, auf seine einfachste Form. |
Visual C# |
Beispiel
Im folgenden Beispiel wird die Verwendung der GenerateSwitchCases-Funktion veranschaulicht. Wenn dieser Ausschnitt eingefügt und eine Enumeration in das $switch_on$-Literal eingegeben wird, generiert das $cases$-Literal eine case-Anweisung für jeden Wert in der Enumeration.
<CodeSnippets xmlns="https://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
<CodeSnippet Format="1.0.0">
<Header>
<Title>switch</Title>
<Shortcut>switch</Shortcut>
<Description>Code snippet for switch statement</Description>
<Author>Microsoft Corporation</Author>
<SnippetTypes>
<SnippetType>Expansion</SnippetType>
</SnippetTypes>
</Header>
<Snippet>
<Declarations>
<Literal>
<ID>expression</ID>
<ToolTip>Expression to switch on</ToolTip>
<Default>switch_on</Default>
</Literal>
<Literal Editable="false">
<ID>cases</ID>
<Function>GenerateSwitchCases($expression$)</Function>
<Default>default:</Default>
</Literal>
</Declarations>
<Code Language="csharp">
<![CDATA[
switch ($expression$)
{
$cases$
}
]]>
</Code>
</Snippet>
</CodeSnippet>
</CodeSnippets>
Im folgenden Beispiel wird die Verwendung der ClassName-Funktion veranschaulicht. Wenn dieser Ausschnitt eingefügt wird, wird das $classname$-Literal an dieser Stelle in der Codedatei durch den Namen der einschließenden Klasse ersetzt.
<CodeSnippets xmlns="https://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
<CodeSnippet Format="1.0.0">
<Header>
<Title>Common constructor pattern</Title>
<Shortcut>ctor</Shortcut>
<Description>Code Snippet for a constructor</Description>
<Author>Microsoft Corporation</Author>
<SnippetTypes>
<SnippetType>Expansion</SnippetType>
</SnippetTypes>
</Header>
<Snippet>
<Declarations>
<Literal>
<ID>type</ID>
<Default>int</Default>
</Literal>
<Literal>
<ID>name</ID>
<Default>field</Default>
</Literal>
<Literal default="true" Editable="false">
<ID>classname</ID>
<ToolTip>Class name</ToolTip>
<Function>ClassName()</Function>
<Default>ClassNamePlaceholder</Default>
</Literal>
</Declarations>
<Code Language="vjsharp" Format="CData">
<![CDATA[
public $classname$ ($type$ $name$)
{
this._$name$ = $name$;
}
private $type$ _$name$;
]]>
</Code>
</Snippet>
</CodeSnippet>
</CodeSnippets>
Dieses Beispiel veranschaulicht die Verwendung der SimpleTypeName-Funktion. Wenn dieser Ausschnitt in eine Codedatei eingefügt wird, wird das $SystemConsole$-Literal in dem Kontext, in dem der Ausschnitt aufgerufen wurde, durch die einfachste Form des Console-Typs ersetzt.
<CodeSnippets xmlns="https://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
<CodeSnippet Format="1.0.0">
<Header>
<Title>Console_WriteLine</Title>
<Shortcut>cw</Shortcut>
<Description>Code snippet for Console.WriteLine</Description>
<Author>Microsoft Corporation</Author>
<SnippetTypes>
<SnippetType>Expansion</SnippetType>
</SnippetTypes>
</Header>
<Snippet>
<Declarations>
<Literal Editable="false">
<ID>SystemConsole</ID>
<Function>SimpleTypeName(global::System.Console)</Function>
</Literal>
</Declarations>
<Code Language="csharp">
<![CDATA[
$SystemConsole$.WriteLine();
]]>
</Code>
</Snippet>
</CodeSnippet>
</CodeSnippets>
Siehe auch
Konzepte
Schemareferenz für Codeausschnitte