Cuplikan kode C#
Di Visual Studio, Anda dapat menggunakan cuplikan kode untuk menambahkan kode yang umum digunakan ke file kode C#Anda. Cuplikan kode dapat membuat penulisan kode program lebih cepat, lebih mudah, dan lebih dapat diandalkan.
Cuplikan kode ekspansi ditambahkan pada titik penyisipan tertentu. Kelilingi dengan cuplikan kode ditambahkan di sekitar kode yang dipilih, dan hanya tersedia untuk C# dan C++. Untuk petunjuk tentang cara menyisipkan atau mengelilingi kode dengan cuplikan kode, lihat Cuplikan kode.
Referensi cuplikan kode
Cuplikan kode bekerja dengan cara yang sama di C# dan C++, tetapi kumpulan cuplikan kode default berbeda. Cuplikan kode C# berikut disertakan dalam Visual Studio secara default:
Nama atau pintasan | Deskripsi | Lokasi penyisipan yang valid |
---|---|---|
#if | Membuat arahan #if dan arahan #endif . | Manapun. |
#region | Membuat arahan #region dan arahan #endregion . | Manapun. |
~ | Membuat finalizer (destructor) untuk kelas yang berisi. | Di dalam kelas. |
atribut | Membuat deklarasi untuk kelas yang berasal dari Attribute. | Di dalam namespace layanan (termasuk namespace global), kelas, atau struct. |
dicentang | Membuat blok yang dicentang . | Di dalam metode, pengindeks, pengakses properti, atau aksesor peristiwa. |
kelas | Membuat deklarasi kelas. | Di dalam namespace layanan (termasuk namespace global), kelas, atau struct. |
ctor | Membuat konstruktor untuk kelas yang berisi. | Di dalam kelas. |
Cw | Membuat panggilan ke WriteLine. | Di dalam metode, pengindeks, pengakses properti, atau aksesor peristiwa. |
do | Membuat perulangan sementara. | Di dalam metode, pengindeks, pengakses properti, atau aksesor peristiwa. |
else | Membuat blok if-else. | Di dalam metode, pengindeks, pengakses properti, atau aksesor peristiwa. |
enum | Membuat deklarasi enum. | Di dalam namespace layanan (termasuk namespace global), kelas, atau struct. |
setara | Membuat deklarasi metode yang mengambil alih metode yang Equals ditentukan di Object kelas . | Di dalam kelas atau struct. |
exception | Membuat deklarasi untuk kelas yang berasal dari pengecualian (Exception secara default). | Di dalam namespace layanan (termasuk namespace global), kelas, atau struct. |
untuk | Membuat untuk perulangan. | Di dalam metode, pengindeks, pengakses properti, atau aksesor peristiwa. |
foreach | Membuat perulangan foreach . | Di dalam metode, pengindeks, pengakses properti, atau aksesor peristiwa. |
forr | Membuat untuk perulangan yang mengurangi variabel perulangan setelah setiap perulangan. | Di dalam metode, pengindeks, pengakses properti, atau aksesor peristiwa. |
if | Membuat blok if. | Di dalam metode, pengindeks, pengakses properti, atau aksesor peristiwa. |
pengindeks | Membuat deklarasi pengindeks. | Di dalam kelas atau struct. |
interface | Membuat deklarasi antarmuka. | Di dalam namespace layanan (termasuk namespace global), kelas, atau struct. |
Memohon | Membuat blok yang memanggil peristiwa dengan aman. | Di dalam metode, pengindeks, pengakses properti, atau aksesor peristiwa. |
iterator | Membuat iterator. | Di dalam kelas atau struct. |
iterindex | named Membuat pasangan iterator dan pengindeks dengan menggunakan kelas berlapis. |
Di dalam kelas atau struct. |
kunci | Membuat blok kunci. | Di dalam metode, pengindeks, pengakses properti, atau aksesor peristiwa. |
mbox | Membuat panggilan ke System.Windows.Forms.MessageBox.Show. Anda mungkin harus menambahkan referensi ke System.Windows.Forms.dll. | Di dalam metode, pengindeks, pengakses properti, atau aksesor peristiwa. |
namespace | Membuat deklarasi namespace layanan. | Di dalam namespace layanan, termasuk namespace global. |
menopang | Membuat deklarasi properti autoimplemented. | Di dalam kelas atau struct. |
propfull | Membuat deklarasi properti dengan get dan set pengaktor. |
Di dalam kelas atau struct. |
propg | Membuat properti autoimplemented baca-saja dengan aksesor privatset . |
Di dalam kelas atau struct. |
Sim | Membuat deklarasi metode Utama int statis. | Di dalam kelas atau struct. |
struktur | Membuat deklarasi struktur. | Di dalam namespace layanan (termasuk namespace global), kelas, atau struct. |
svm | Membuat deklarasi metode Utama kekosongan statis. | Di dalam kelas atau struct. |
beralih | Membuat blok sakelar. | Di dalam metode, pengindeks, pengakses properti, atau aksesor peristiwa. |
coba | Membuat blok try-catch. | Di dalam metode, pengindeks, pengakses properti, atau aksesor peristiwa. |
tryf | Membuat blok coba-akhirnya. | Di dalam metode, pengindeks, pengakses properti, atau aksesor peristiwa. |
yang tidak dicentang | Membuat blok yang tidak dicentang . | Di dalam metode, pengindeks, pengakses properti, atau aksesor peristiwa. |
tidak aman | Membuat blok yang tidak aman . | Di dalam metode, pengindeks, pengakses properti, atau aksesor peristiwa. |
menggunakan | Membuat direktif menggunakan. | Di dalam namespace layanan, termasuk namespace global. |
sementara | Membuat perulangan sementara. | Di dalam metode, pengindeks, pengakses properti, atau aksesor peristiwa. |
Fungsi cuplikan kode C#
Fungsi ditentukan dalam elemen Fungsi dari cuplikan kode. Tabel berikut menjelaskan tiga fungsi yang tersedia untuk digunakan dengan Function
elemen dalam cuplikan kode C#.
Fungsi | Deskripsi |
---|---|
GenerateSwitchCases(EnumerationLiteral) |
Menghasilkan pernyataan pengalihan dan serangkaian pernyataan kasus untuk anggota enumerasi yang ditentukan oleh EnumerationLiteral parameter . Parameter EnumerationLiteral harus menjadi referensi baik ke literal enumerasi atau jenis enumerasi. |
ClassName() |
Mengembalikan nama kelas yang berisi cuplikan yang disisipkan. |
SimpleTypeName(TypeName) |
Mengurangi parameter ke TypeName bentuk paling sederhana dalam konteks di mana cuplikan dipanggil. |
Contoh GenerateSwitchCases
Contoh berikut menunjukkan cara menggunakan fungsi GenerateSwitchCases
. Ketika Anda memasukkan cuplikan ini dan memasukkan enumerasi ke dalam $switch_on$
literal, $cases$
harfiah menghasilkan case
pernyataan untuk setiap nilai dalam enumerasi.
<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>
Contoh ClassName
Contoh berikut menunjukkan cara menggunakan fungsi ClassName
. Saat Anda menyisipkan cuplikan ini, $classname$
literal diganti dengan nama kelas penutup di lokasi tersebut dalam file kode.
<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>
Contoh SimpleTypeName
Contoh ini menunjukkan cara menggunakan SimpleTypeName
fungsi . Ketika Anda menyisipkan cuplikan ini ke dalam file kode, $SystemConsole$
literal diganti dengan bentuk Console jenis paling sederhana dalam konteks di mana Anda memanggil cuplikan.
<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>