程式碼片段函式
有三個函式可與 Visual C# 程式碼片段一起使用。函式是在程式碼片段的 Function 項目 (IntelliSense 程式碼片段) 項目中指定。如需建立程式碼片段的詳細資訊,請參閱程式碼片段。
功能
下表將描述可與程式碼片段中的 Function 項目一起使用的函式。
Function |
描述 |
Language |
---|---|---|
GenerateSwitchCases(EnumerationLiteral) |
會針對 EnumerationLiteral 參數所指定的列舉型別成員,產生一個 switch 陳述式以及一組 case 陳述式。EnumerationLiteral 參數必須是列舉型別常值的參考或是列舉型別的參考。 |
Visual C# |
ClassName() |
傳回其中包含插入的程式碼片段的類別名稱。 |
Visual C# |
SimpleTypeName(TypeName) |
將位於叫用程式碼片段之內容中的 TypeName 參數縮減為最簡單的形式。 |
Visual C# |
範例
下列範例將說明如何使用 GenerateSwitchCases 函式。如果插入此程式碼片段並且將列舉型別輸入至 $switch_on$ 常值中,$cases$ 常值將會針對列舉型別中的每一個值,產生一個 case 陳述式。
<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>
下列範例將說明如何使用 ClassName 函式。插入這個程式碼片段時,$classname$ 常值會由程式碼檔中您所在的封入類別 (Enclosing Class) 名稱取代。
<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>
這個範例將說明如何使用 SimpleTypeName 函式。如果在程式碼檔中插入此程式碼片段,便會以叫用程式碼片段的內容中的 Console 型別之最簡單形式取代 $SystemConsole$ 常值。
<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>