Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Proses transformasi templat teks mengambil file templat teks sebagai input dan menghasilkan file teks sebagai output. Mesin transformasi templat teks mengontrol proses, dan mesin berinteraksi dengan host transformasi templat teks dan satu atau beberapa prosesor arahan templat teks untuk menyelesaikan proses. Untuk informasi selengkapnya, lihat Proses Transformasi Templat Teks.
Untuk membuat prosesor direktif kustom, Anda membuat kelas yang mewarisi dari DirectiveProcessor atau RequiresProvidesDirectiveProcessor.
Perbedaan antara keduanya adalah mengimplementasikan DirectiveProcessor antarmuka minimum yang diperlukan untuk mendapatkan parameter dari pengguna dan untuk menghasilkan kode yang menghasilkan file output templat.
RequiresProvidesDirectiveProcessor mengimplementasikan pola desain requires/provides.
RequiresProvidesDirectiveProcessor menangani dua parameter khusus, requires dan provides. Misalnya, prosesor direktif kustom mungkin menerima nama file dari pengguna, membuka dan membaca file, lalu menyimpan teks file dalam variabel yang bernama fileText. Subkelas RequiresProvidesDirectiveProcessor kelas mungkin mengambil nama file dari pengguna sebagai nilai requires parameter, dan nama variabel untuk menyimpan teks sebagai nilai provides parameter. Prosesor ini akan membuka dan membaca file lalu menyimpan teks file dalam variabel yang ditentukan.
Sebelum Anda memanggil prosesor direktif kustom dari templat teks di Visual Studio, Anda harus mendaftarkannya.
Untuk informasi selengkapnya tentang cara menambahkan kunci registri, lihat Menyebarkan Prosesor Arahan Kustom.
Direktif Khusus
Arahan kustom terlihat seperti ini:
<#@ MyDirective Processor="MyDirectiveProcessor" parameter1="value1" ... #>
Anda dapat menggunakan prosesor direktif kustom saat Anda ingin mengakses data atau sumber daya eksternal dari templat teks.
Templat teks yang berbeda dapat berbagi fungsionalitas yang disediakan prosesor direktif tunggal, sehingga prosesor direktif menyediakan cara untuk memperhitungkan kode untuk digunakan kembali. Direktif bawaan include mirip, karena Anda dapat menggunakannya untuk memperhitungkan kode dan membagikannya di antara templat teks yang berbeda. Perbedaannya adalah bahwa fungsionalitas apa pun yang disediakan include direktif tetap dan tidak menerima parameter. Jika Anda ingin menyediakan fungsionalitas umum ke templat teks dan mengizinkan templat untuk meneruskan parameter, Anda harus membuat prosesor direktif kustom.
Beberapa contoh prosesor direktif kustom dapat berupa:
Prosesor direktif untuk mengembalikan data dari database yang menerima nama pengguna dan kata sandi sebagai parameter.
Prosesor direktif untuk membuka dan membaca file yang menerima nama file sebagai parameter.
Bagian utama dari prosesor direktif kustom
Untuk mengembangkan prosesor direktif, Anda harus membuat kelas yang mewarisi dari DirectiveProcessor atau RequiresProvidesDirectiveProcessor.
Metode terpenting DirectiveProcessor yang harus Anda terapkan adalah sebagai berikut.
bool IsDirectiveSupported(string directiveName)- Kembalikantruejika pemroses direktif Anda dapat menangani direktif yang disebutkan.void ProcessDirective (string directiveName, IDictionary<string, string> arguments)- Mesin templat memanggil metode ini untuk setiap kemunculan arahan dalam templat. Prosesor Anda harus menyimpan hasilnya.
Setelah semua panggilan ke ProcessDirective() mesin templat akan memanggil metode ini:
string[] GetReferencesForProcessingRun()- Mengembalikan nama assembly yang dibutuhkan oleh kode templat.string[] GetImportsForProcessingRun()- Mengembalikan namespace yang dapat digunakan dalam kode templat.string GetClassCodeForProcessingRun()- Mengembalikan kode metode, properti, dan deklarasi lain yang dapat digunakan kode templat. Cara term mudah untuk melakukan ini adalah dengan membangun string yang berisi kode C# atau Visual Basic. Untuk membuat prosesor direktif Anda mampu dipanggil dari templat yang menggunakan bahasa CLR apa pun, Anda dapat membuat pernyataan sebagai pohon CodeDom lalu mengembalikan hasil serialisasi pohon dalam bahasa yang digunakan oleh templat.Untuk informasi selengkapnya, lihat Panduan: Membuat Prosesor Arahan Kustom.
Konten terkait
- Menyebarkan Prosesor Arahan Kustom menjelaskan cara mendaftarkan prosesor direktif kustom.
- Panduan: Membuat Prosesor Arahan Kustom menjelaskan cara membuat prosesor arahan kustom, cara mendaftar dan menguji prosesor arahan, dan cara memformat file output sebagai HTML.