Udostępnij za pośrednictwem


Tworzenie modułu wyliczającego Foreach niestandardowe

Etapy tworzenia numeratora foreach niestandardowe są podobne do czynności tworzenia innych obiektów niestandardowych dla Integration Services:

  • Tworzenie nowej klasy, która dziedziczy z klasy bazowej.Moduł wyliczający foreach klasy podstawowej jest ForEachEnumerator.

  • Zastosuj atrybut określający typ obiektu do klasy.Moduł wyliczający foreach atrybut jest DtsForEachEnumeratorAttribute.

  • Zastąpić stosowania metod i właściwości klasy podstawowej.Moduł wyliczający foreach najważniejsze jest GetEnumerator metoda.

  • Opcjonalnie można rozwijać niestandardowego interfejs użytkownika.Dla modułu wyliczającego foreach wymaga klasy, która implementuje IDTSForEachEnumeratorUI interfejs.

Niestandardowy moduł wyliczający jest obsługiwana przez ForEachLoop kontener.Przy uruchomieniu czas, ForEachLoop kontener wywołania GetEnumerator metoda niestandardowy moduł wyliczający.Niestandardowy moduł wyliczający zwraca obiekt, który implementuje IEnumerable interfejs, takich jak ArrayList.ForEachLoop Następnie wykonuje iterację przez każdy element kolekcja, zawiera wartość bieżącego elementu przepływ sterowania przez zmienną użytkownika i wykonuje przepływ sterowania kontener.

Przykładowe pracy niestandardowego modułu wyliczającego, zobacz Integration Services próbki na witrynie Codeplex.

Moduł wyliczający ForEach niestandardowe — wprowadzenie

Tworzenie projektów i klasy

Ponieważ wszystkie zarządzane foreach moduły wyliczające pochodzić od ForEachEnumerator klasy bazowej, pierwszym krokiem podczas tworzenia numeratora foreach niestandardowe jest projektu biblioteki klas w preferowanym języku programowania zarządzanych i Tworzenie klasy, która dziedziczy z klasy podstawowejW tej klasie pochodnej można zastąpić metody i właściwości klasy podstawowej do wdrożenia niestandardowe funkcje.

W tym samym roztworze Utwórz projekt drugiej klasy biblioteki interfejs użytkownika niestandardowego.W celu ułatwienia wdrażania zaleca się oddzielnej wirtualny plik dziennika dla interfejsu użytkownika, ponieważ pozwala aktualizować i ponownie rozmieścić moduł wyliczający foreach lub interfejs użytkownika niezależnie.

Skonfigurować oba projekty do rejestrowania zestawów, które będą generowane przy kompilacji czas przy użyciu silnej nazwy pliku klucz.

Zastosowanie atrybutu DtsForEachEnumerator

Zastosowanie DtsForEachEnumeratorAttribute atrybut class, utworzony w celu identyfikacji jako moduł wyliczający foreach.Ten atrybut zawiera projekt -czas informacje, takie jak nazwa i opis modułu wyliczającego foreach.Name właściwość pojawia się na liście rozwijanej dostępne moduły wyliczające na kolekcji karcie Edytor pętli Foreach okno dialogowe.

Użyj UITypeName właściwość łącza numeratora foreach do jego interfejs użytkownika niestandardowego.Token klucz publicznego jest wymagany dla tej właściwość, użyj można uzyskać sn.exe -t do wyświetlania token klucz publicznego z pliku pary kluczy (.snk), który ma być używany do podpisywania wirtualny plik dziennika interfejs użytkownika.

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.
    }
}

Budowanie, wdrażanie i debugowania numeratora niestandardowe

Kroki prowadzące do budowania, wdrażania i debugowanie numeratora foreach niestandardowe w Integration Services są bardzo podobne do czynności wymagane dla innych typów obiektów niestandardowych.Aby uzyskać więcej informacji, zobacz Budowanie, wdrażanie i debugowania obiektów niestandardowych.

Ikona usług Integration Services (mała)Bieżąco z usług integracji

Najnowsze pliki do pobrania, artykuły, próbki i wideo firmy Microsoft, jak również wybranych rozwiązań ze Wspólnoty, odwiedź witrynę Integration Services strona na MSDN i TechNet:

Aby otrzymywać automatyczne powiadomienia dotyczące tych aktualizacji, zasubskrybuj źródła danych RSS dostępne na tej stronie.