Fragmenty kódu jazyka C#

V sadě Visual Studio můžete pomocí fragmentů kódu přidat běžně používaný kód do souborů kódu jazyka C#. Fragmenty kódu umožňují rychlejší, jednodušší a spolehlivější psaní kódu programu.

Fragmenty rozšiřujícího kódu se přidají v zadaných bodech vložení. Kolem vybraného kódu se přidávají fragmenty kódu a jsou dostupné jenom pro C# a C++. Pokyny k vložení nebo ohraničování kódu fragmenty kódu najdete v tématu Fragmenty kódu.

Referenční informace k fragmentu kódu

Fragmenty kódu fungují podobně v jazyce C# a C++, ale sada výchozích fragmentů kódu se liší. Následující fragmenty kódu jazyka C# jsou ve výchozím nastavení součástí sady Visual Studio:

Název nebo zástupce Popis Platná umístění vložení
#if – direktiva Vytvoří direktivu #if a direktivu #endif . Kdekoliv.
#region – direktiva Vytvoří direktivu #region a direktivu #endregion. Kdekoliv.
~ Vytvoří finalizátor (destruktor) pro obsahující třídu. Uvnitř třídy.
attribute Vytvoří deklaraci třídy, která je odvozena od Attribute. Uvnitř oboru názvů (včetně globálního oboru názvů), třídy nebo struktury.
checked Vytvoří zaškrtnutý blok. Uvnitř metody, indexeru, přístupového objektu vlastnosti nebo objektu události.
class Vytvoří deklaraci třídy. Uvnitř oboru názvů (včetně globálního oboru názvů), třídy nebo struktury.
ctor Vytvoří konstruktor pro obsahující třídu. Uvnitř třídy.
Cw Vytvoří volání WriteLine. Uvnitř metody, indexeru, přístupového objektu vlastnosti nebo objektu události.
do Vytvoří smyčku do while. Uvnitř metody, indexeru, přístupového objektu vlastnosti nebo objektu události.
else Vytvoří blok if-else. Uvnitř metody, indexeru, přístupového objektu vlastnosti nebo objektu události.
enum Vytvoří deklaraci výčtu. Uvnitř oboru názvů (včetně globálního oboru názvů), třídy nebo struktury.
rovná se Vytvoří deklaraci metody, která přepíše metodu definovanou Equals Object ve třídě. Uvnitř třídy nebo struktury.
exception Vytvoří deklaraci pro třídu, která je odvozena od výjimky (Exception ve výchozím nastavení). Uvnitř oboru názvů (včetně globálního oboru názvů), třídy nebo struktury.
pro Vytvoří smyčku for . Uvnitř metody, indexeru, přístupového objektu vlastnosti nebo objektu události.
foreach Vytvoří smyčku foreach . Uvnitř metody, indexeru, přístupového objektu vlastnosti nebo objektu události.
forr Vytvoří smyčku for , která po každé iteraci sníží proměnnou smyčky. Uvnitř metody, indexeru, přístupového objektu vlastnosti nebo objektu události.
if Vytvoří blok if. Uvnitř metody, indexeru, přístupového objektu vlastnosti nebo objektu události.
zručný pracovník Vytvoří deklaraci indexeru. Uvnitř třídy nebo struktury.
rozhraní Vytvoří deklaraci rozhraní. Uvnitř oboru názvů (včetně globálního oboru názvů), třídy nebo struktury.
vyvolat Vytvoří blok, který bezpečně vyvolá událost. Uvnitř metody, indexeru, přístupového objektu vlastnosti nebo objektu události.
iterátor Vytvoří iterátor. Uvnitř třídy nebo struktury.
iterindex Vytvoří dvojici named iterátoru a indexeru pomocí vnořené třídy. Uvnitř třídy nebo struktury.
lock Vytvoří blok zámku. Uvnitř metody, indexeru, přístupového objektu vlastnosti nebo objektu události.
mbox Vytvoří volání System.Windows.Forms.MessageBox.Show. Možná budete muset přidat odkaz na System.Windows.Forms.dll. Uvnitř metody, indexeru, přístupového objektu vlastnosti nebo objektu události.
namespace Vytvoří deklaraci oboru názvů . Uvnitř oboru názvů, včetně globálního oboru názvů.
podpěra Vytvoří deklaraci vlastnosti autoimplementované . Uvnitř třídy nebo struktury.
propfull Vytvoří deklaraci vlastnosti s get a set přístupovými objekty. Uvnitř třídy nebo struktury.
propg Vytvoří automaticky naváděnou vlastnost jen pro čtení s privátním set příslušenstvím. Uvnitř třídy nebo struktury.
Sim Vytvoří deklaraci statické int Main metody. Uvnitř třídy nebo struktury.
struct Vytvoří deklaraci struktury . Uvnitř oboru názvů (včetně globálního oboru názvů), třídy nebo struktury.
svm Vytvoří deklaraci statické metody void Main. Uvnitř třídy nebo struktury.
switch Vytvoří blok přepínače. Uvnitř metody, indexeru, přístupového objektu vlastnosti nebo objektu události.
vyzkoušení Vytvoří blok try-catch. Uvnitř metody, indexeru, přístupového objektu vlastnosti nebo objektu události.
tryf Vytvoří blok try-finally. Uvnitř metody, indexeru, přístupového objektu vlastnosti nebo objektu události.
unchecked Vytvoří nezaškrtnutý blok. Uvnitř metody, indexeru, přístupového objektu vlastnosti nebo objektu události.
unsafe Vytvoří nebezpečný blok. Uvnitř metody, indexeru, přístupového objektu vlastnosti nebo objektu události.
using Vytvoří direktivu using . Uvnitř oboru názvů, včetně globálního oboru názvů.
while Vytvoří smyčku while . Uvnitř metody, indexeru, přístupového objektu vlastnosti nebo objektu události.

Funkce fragmentu kódu jazyka C#

Funkce jsou zadané v elementu Function fragmentu kódu. Následující tabulka popisuje tři funkce, které lze použít s prvkem Function v fragmentech kódu jazyka C#.

Function Popis
GenerateSwitchCases(EnumerationLiteral) Vygeneruje příkaz switch a sadu příkazů case pro členy výčtu určené parametrem EnumerationLiteral . Parametr EnumerationLiteral musí být odkazem buď na literál výčtu, nebo typ výčtu.
ClassName() Vrátí název třídy, která obsahuje vložený fragment kódu.
SimpleTypeName(TypeName) Zmenší TypeName parametr na nejjednodušší formu v kontextu, ve kterém byl fragment vyvolán.

Příklad GenerateSwitchCases

Následující příklad ukazuje, jak používat GenerateSwitchCases funkci. Když vložíte tento fragment kódu a zadáte výčet do literálu $switch_on$ , $cases$ literál vygeneruje case příkaz pro každou hodnotu v výčtu.

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

Příklad ClassName

Následující příklad ukazuje, jak používat ClassName funkci. Při vložení tohoto fragmentu $classname$ kódu se literál nahradí názvem nadřazené třídy v tomto umístění v souboru kódu.

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

Příklad SimpleTypeName

Tento příklad ukazuje, jak používat SimpleTypeName funkci. Když tento fragment kódu vložíte do souboru kódu, $SystemConsole$ literál se nahradí nejjednodušší formou Console typu v kontextu, ve kterém jste vyvolali fragment kódu.

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