コード スニペットの関数Code Snippet Functions

Visual C#Visual C# コード スニペットで使用できる関数は 3 つあります。There are three functions available to use with Visual C#Visual C# code snippets. 関数は、コード スニペットの Function 要素で指定されています。Functions are specified in the Function element of the code snippet. コード スニペットの作成については、「コード スニペット」を参照してください。For information on creating code snippets, see Code Snippets.

関数Functions

次の表で、コード スニペットの Function 要素で使用できる関数について説明します。The following table describes the functions available for use with the Function element in code snippets.

関数Function 説明Description 言語Language
GenerateSwitchCases( EnumerationLiteral )GenerateSwitchCases( EnumerationLiteral ) EnumerationLiteral パラメーターで指定された列挙体のメンバー用に、switch ステートメントおよび一連の case ステートメントを生成します。Generates a switch statement and a set of case statements for the members of the enumeration specified by the EnumerationLiteral parameter. EnumerationLiteral パラメーターは、列挙体リテラルまたは列挙型のいずれかへの参照にする必要があります。The EnumerationLiteral parameter must be either a reference to an enumeration literal or an enumeration type. Visual C#Visual C#
ClassName() 挿入されたスニペットを含むクラスの名前を返します。Returns the name of the class that contains the inserted snippet. Visual C#Visual C#
SimpleTypeName( TypeName )SimpleTypeName( TypeName ) TypeName パラメーターを、スニペットが呼び出されたコンテキストで最も単純な形式に縮小します。Reduces the TypeName parameter to its simplest form in the context in which the snippet was invoked. Visual C#Visual C#

Example

次の例は、GenerateSwitchCases 関数の使用法を示しています。The following example shows how to use the GenerateSwitchCases function. このスニペットが挿入され、列挙体が $switch_on$ リテラルに入力されると、$cases$ リテラルによって列挙体の値ごとに case ステートメントが生成されます。When this snippet is inserted and an enumeration is entered into the $switch_on$ literal, the $cases$ literal generates a case statement for every value in the enumeration.

<CodeSnippets xmlns="http://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>  

Example

次の例は、ClassName 関数の使用法を示しています。The following example shows how to use the ClassName function. このスニペットが挿入されると、$classname$ リテラルは、コード ファイルでその位置にある外側のクラスの名前で置換されます。When this snippet is inserted, the $classname$ literal is replaced with the name of the enclosing class at that location in the code file.

<CodeSnippets xmlns="http://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>  

Example

この例では、SimpleTypeName 関数の使用方法を示します。This example shows how to use the SimpleTypeName function. このスニペットがコード ファイルに挿入されると、$SystemConsole$ リテラルは、このスニペットが呼び出されたコンテキストで最も単純な形式の Console 型で置換されます。When this snippet is inserted into a code file, the $SystemConsole$ literal will be replaced with the simplest form of the Console type in the context in which the snippet was invoked.

<CodeSnippets xmlns="http://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>  

関連項目See Also

Function 要素 (IntelliSense コード スニペット) Function Element (Intellisense Code Snippets)
コード スニペット スキーマ リファレンスCode Snippets Schema Reference