C# 코드 조각
Visual Studio에서 코드 조각을 사용하여 C# 코드 파일에 일반적으로 사용되는 코드를 추가할 수 있습니다. 코드 조각을 사용하면 빠르고 쉽게, 안정적으로 프로그램 코드를 작성할 수 있습니다.
확장 코드 조각은 지정된 삽입 지점에 추가됩니다. 코드 감싸기 코드 조각은 선택한 코드 주위에 추가되며 C# 및 C++에서만 사용할 수 있습니다. 코드 조각을 사용하여 코드를 삽입하거나 둘러싸는 방법에 대한 지침은 코드 조각을 참조 하세요.
코드 조각 참조
코드 조각은 C# 및 C++에서 거의 동일한 방식으로 작동하지만 기본 코드 조각 집합은 다릅니다. 다음 C# 코드 조각은 기본적으로 Visual Studio에 포함됩니다.
이름 또는 바로 가기 | 설명 | 유효한 삽입 위치 |
---|---|---|
#if | #if 지시문과 #endif 지시문을 만듭니다. | 원하는 위치 |
#region | #region 지시문과 #endregion 지시문을 만듭니다. | 원하는 위치 |
~ | 포함하는 클래스에 대한 finalizer(소멸자)를 만듭니다. | 클래스 내부 |
attribute | Attribute에서 파생되는 클래스에 대한 선언을 만듭니다. | 네임스페이스(전역 네임스페이스 포함), 클래스 또는 구조체 내부 |
checked | checked 블록을 만듭니다. | 메서드, 인덱서, 속성 접근자 또는 이벤트 접근자 내부 |
class | class 선언을 만듭니다. | 네임스페이스(전역 네임스페이스 포함), 클래스 또는 구조체 내부 |
ctor | 포함하는 클래스에 대한 생성자를 만듭니다. | 클래스 내부 |
cw | WriteLine 호출을 만듭니다. | 메서드, 인덱서, 속성 접근자 또는 이벤트 접근자 내부 |
do | do while 루프를 만듭니다. | 메서드, 인덱서, 속성 접근자 또는 이벤트 접근자 내부 |
else | if-else 블록을 만듭니다. | 메서드, 인덱서, 속성 접근자 또는 이벤트 접근자 내부 |
enum | enum 선언을 만듭니다. | 네임스페이스(전역 네임스페이스 포함), 클래스 또는 구조체 내부 |
equals | Object 클래스에 정의된 Equals 메서드를 재정의하는 메서드 선언을 만듭니다. | 클래스 또는 구조체 내부 |
exception | 예외(기본적으로 Exception)에서 파생되는 클래스에 대한 선언을 만듭니다. | 네임스페이스(전역 네임스페이스 포함), 클래스 또는 구조체 내부 |
for | for 루프를 만듭니다. | 메서드, 인덱서, 속성 접근자 또는 이벤트 접근자 내부 |
foreach | foreach 루프를 만듭니다. | 메서드, 인덱서, 속성 접근자 또는 이벤트 접근자 내부 |
forr | 각 반복 후에 루프 변수가 감소하는 for 루프를 만듭니다. | 메서드, 인덱서, 속성 접근자 또는 이벤트 접근자 내부 |
if | if 블록을 만듭니다. | 메서드, 인덱서, 속성 접근자 또는 이벤트 접근자 내부 |
인덱서 | indexer 선언을 만듭니다. | 클래스 또는 구조체 내부 |
인터페이스 | interface 선언을 만듭니다. | 네임스페이스(전역 네임스페이스 포함), 클래스 또는 구조체 내부 |
invoke | 안전하게 이벤트를 호출하는 블록을 만듭니다. | 메서드, 인덱서, 속성 접근자 또는 이벤트 접근자 내부 |
iterator | 반복기를 만듭니다. | 클래스 또는 구조체 내부 |
iterindex | 중첩 클래스를 named 사용하여 반복기 및 인덱서 쌍을 만듭니다. |
클래스 또는 구조체 내부 |
lock | lock 블록을 만듭니다. | 메서드, 인덱서, 속성 접근자 또는 이벤트 접근자 내부 |
mbox | System.Windows.Forms.MessageBox.Show 호출을 만듭니다. System.Windows.Forms.dll 대한 참조를 추가해야 할 수도 있습니다. | 메서드, 인덱서, 속성 접근자 또는 이벤트 접근자 내부 |
namespace | namespace 선언을 만듭니다. | 전역 네임스페이스를 포함한 네임스페이스 내부. |
prop | 자동임플렉션된 속성 선언을 만듭니다. | 클래스 또는 구조체 내부 |
propfull | get 및 set 접근자를 사용하여 속성 선언을 만듭니다. |
클래스 또는 구조체 내부 |
propg | 프라이빗 set 접근자를 사용하여 읽기 전용 자동 구현 속성을 만듭니다. |
클래스 또는 구조체 내부 |
sim | static int Main 메서드 선언을 만듭니다. | 클래스 또는 구조체 내부 |
struct | struct 선언을 만듭니다. | 네임스페이스(전역 네임스페이스 포함), 클래스 또는 구조체 내부 |
svm | static void Main 메서드 선언을 만듭니다. | 클래스 또는 구조체 내부 |
switch | switch 블록을 만듭니다. | 메서드, 인덱서, 속성 접근자 또는 이벤트 접근자 내부 |
다음을 시도해 보세요. | try-catch 블록을 만듭니다. | 메서드, 인덱서, 속성 접근자 또는 이벤트 접근자 내부 |
tryf | try-finally 블록을 만듭니다. | 메서드, 인덱서, 속성 접근자 또는 이벤트 접근자 내부 |
unchecked | unchecked 블록을 만듭니다. | 메서드, 인덱서, 속성 접근자 또는 이벤트 접근자 내부 |
unsafe | unsafe 블록을 만듭니다. | 메서드, 인덱서, 속성 접근자 또는 이벤트 접근자 내부 |
using | using 지시문을 만듭니다. | 전역 네임스페이스를 포함한 네임스페이스 내부. |
while | while 루프를 만듭니다. | 메서드, 인덱서, 속성 접근자 또는 이벤트 접근자 내부 |
C# 코드 조각 함수
함수는 코드 조각의 Function 요소에 지정됩니다. 다음 표에서는 C# 코드 조각의 요소와 함께 Function
사용할 수 있는 세 가지 함수에 대해 설명합니다.
함수 | 설명 |
---|---|
GenerateSwitchCases(EnumerationLiteral) |
EnumerationLiteral 매개 변수로 지정된 열거형 멤버에 대한 switch 문과 case 문 집합을 생성합니다. 매개 변수는 EnumerationLiteral 열거형 리터럴 또는 열거형 형식에 대한 참조여야 합니다. |
ClassName() |
삽입된 코드 조각을 포함하는 클래스의 이름을 반환합니다. |
SimpleTypeName(TypeName) |
코드 조각이 TypeName 호출된 컨텍스트에서 매개 변수를 가장 간단한 형식으로 줄입니다. |
GenerateSwitchCases 예제
다음 예제에서는 GenerateSwitchCases
함수를 사용하는 방법을 보여 줍니다. 이 코드 조각을 삽입하고 리터럴 $cases$
에 $switch_on$
열거형을 입력하면 리터럴은 열거형의 모든 값에 대한 문을 생성합니다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
함수를 사용하는 방법을 보여 줍니다. 이 코드 $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="csharp" Format="CData">
<![CDATA[
public $classname$ ($type$ $name$)
{
this._$name$ = $name$;
}
private $type$ _$name$;
]]>
</Code>
</Snippet>
</CodeSnippet>
</CodeSnippets>
SimpleTypeName 예제
이 예제는 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>