코드 조각 함수

Visual Studio 2017 RC에 대한 최신 설명서는 Visual Studio 2017 RC 설명서를 참조하세요.

Visual C# 코드 조각에 사용할 수 있는 함수에는 세 가지가 있습니다. 함수는 코드 조각의 Function 요소에서 지정됩니다. 코드 조각을 만드는 방법에 대한 내용은 코드 조각을 참조하십시오.

함수

다음 표에서는 코드 조각의 Function 요소에 사용할 수 있는 함수에 대해 설명합니다.

Function 설명 Language
GenerateSwitchCases( EnumerationLiteral ) switch 문과 EnumerationLiteral 매개 변수에 지정된 열거형의 멤버에 대해 일련의 case 문을 생성합니다. EnumerationLiteral 매개 변수는 열거형 형식 또는 열거형 리터럴에 대한 참조여야 합니다. Visual C#
ClassName() 삽입된 코드 조각을 포함하는 클래스의 이름을 반환합니다. Visual C#
SimpleTypeName( TypeName ) TypeName 매개 변수를 코드 조각이 호출된 컨텍스트에서 가장 단순한 형태로 만듭니다. Visual C#

예제

다음 예제에서는 GenerateSwitchCases 함수를 사용하는 방법을 보여 줍니다. 이 코드 조각이 삽입되고 열거형이 $switch_on$ 리터럴에 입력되면 $cases$ 리터럴은 열거형의 모든 값에 대해 case 문을 생성합니다.

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

예제

다음 예제에서는 ClassName 함수를 사용하는 방법을 보여 줍니다. 이 코드 조각이 삽입되면 $classname$ 리터럴은 코드 파일의 해당 위치에 있는 바깥쪽 클래스 이름으로 바뀝니다.

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

예제

이 예제에서는 SimpleTypeName 함수를 사용하는 방법을 보여 줍니다. 이 코드 조각이 코드 파일에 삽입되면 $SystemConsole$ 리터럴은 코드 조각이 호출된 컨텍스트에서 가장 단순한 형태의 Console 형식으로 바뀝니다.

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

참고 항목

Function Element (Intellisense Code Snippets)
코드 조각 스키마 참조