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>