Bagikan melalui


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 perulangansementara. 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.
Prop 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.
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>