Membuat Enumerator Foreach Kustom
Berlaku untuk: SQL Server
SSIS Integration Runtime di Azure Data Factory
Langkah-langkah yang terlibat dalam membuat enumerator foreach kustom mirip dengan langkah-langkah untuk membuat objek kustom lainnya untuk Layanan Integrasi:
Buat kelas baru yang mewarisi dari kelas dasar. Untuk enumerator foreach, kelas dasarnya adalah ForEachEnumerator.
Terapkan atribut yang mengidentifikasi jenis objek ke kelas . Untuk enumerator foreach, atributnya adalah DtsForEachEnumeratorAttribute.
Mengambil alih implementasi metode dan properti kelas dasar. Untuk enumerator foreach, yang paling penting adalah metode .GetEnumerator
Secara opsional, kembangkan antarmuka pengguna kustom. Untuk enumerator foreach, ini memerlukan kelas yang mengimplementasikan IDTSForEachEnumeratorUI antarmuka.
Enumerator kustom dihosting oleh ForEachLoop kontainer. Pada waktu proses, ForEachLoop kontainer memanggil GetEnumerator metode enumerator kustom. Enumerator kustom mengembalikan objek yang mengimplementasikan antarmuka IEnumerable , seperti ArrayList. Kemudian ForEachLoop melakukan iterasi pada setiap elemen dalam koleksi, memberikan nilai elemen saat ini ke alur kontrol melalui variabel yang ditentukan pengguna, dan menjalankan alur kontrol dalam kontainer.
Memulai Enumerator ForEach Kustom
Membuat Proyek dan Kelas
Karena semua enumerator foreach terkelola berasal dari ForEachEnumerator kelas dasar, langkah pertama saat Anda membuat enumerator foreach kustom adalah membuat proyek pustaka kelas dalam bahasa pemrograman terkelola pilihan Anda dan membuat kelas yang mewarisi dari kelas dasar. Dalam kelas turunan ini Anda akan mengambil alih metode dan properti kelas dasar untuk mengimplementasikan fungsionalitas kustom Anda.
Dalam solusi yang sama, buat proyek pustaka kelas kedua untuk antarmuka pengguna kustom. Rakitan terpisah untuk antarmuka pengguna direkomendasikan untuk kemudahan penyebaran karena memungkinkan Anda memperbarui dan menyebarkan ulang enumerator foreach atau antarmuka penggunanya secara independen.
Konfigurasikan kedua proyek untuk menandatangani rakitan yang akan dihasilkan pada waktu build dengan menggunakan file kunci nama yang kuat.
Menerapkan Atribut DtsForEachEnumerator
DtsForEachEnumeratorAttribute Terapkan atribut ke kelas yang telah Anda buat untuk mengidentifikasinya sebagai enumerator foreach. Atribut ini menyediakan informasi waktu desain seperti nama dan deskripsi enumerator foreach. Properti Nama muncul di daftar dropdown enumerator yang tersedia pada tab Koleksi dari kotak dialog Editor Perulangan Foreach.
UITypeName Gunakan properti untuk menautkan enumerator foreach ke antarmuka pengguna kustomnya. Untuk mendapatkan token kunci publik yang diperlukan untuk properti ini, Anda menggunakan sn.exe -t untuk menampilkan token kunci publik dari file pasangan kunci (.snk) yang ingin Anda gunakan untuk menandatangani rakitan antarmuka pengguna.
Imports System
Imports Microsoft.SqlServer.Dts.Runtime
Namespace Microsoft.Samples.SqlServer.Dts
<DtsForEachEnumerator(DisplayName = "MyEnumerator", Description="A sample custom enumerator", UITypeName="FullyQualifiedTypeName,AssemblyName,Version=1.00.000.00,Culture=Neutral,PublicKeyToken=<publickeytoken>")> _
Public Class MyEnumerator
Inherits ForEachEnumerator
'Insert code here.
End Class
End Namespace
using System;
using Microsoft.SqlServer.Dts.Runtime;
namespace Microsoft.Samples.SqlServer.Dts
{
[DtsForEachEnumerator( DisplayName = "MyEnumerator", Description="A sample custom enumerator", UITypeName="FullyQualifiedTypeName,AssemblyName,Version=1.00.000.00,Culture=Neutral,PublicKeyToken=<publickeytoken>")]
public class MyEnumerator : ForEachEnumerator
{
//Insert code here.
}
}
Membangun, Menyebarkan, dan Men-debug Enumerator Kustom
Langkah-langkah untuk membangun, menyebarkan, dan men-debug enumerator foreach kustom di Integration Services sangat mirip dengan langkah-langkah yang diperlukan untuk jenis objek kustom lainnya. Untuk informasi selengkapnya, lihat Membangun, Menyebarkan, dan Men-debug Objek Kustom.
Lihat Juga
Pengodean Enumerator Foreach Kustom
Mengembangkan Antarmuka Pengguna untuk Enumerator ForEach Kustom
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk