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

Referenz

Function-Element (IntelliSense-Codeausschnitte)