Udostępnij za pośrednictwem


Właściwość DtsEnumerator.Current

Pobiera bieżący element kolekcja.

Przestrzeń nazw:  Microsoft.SqlServer.Dts.Runtime
Zestaw:  Microsoft.SqlServer.ManagedDTS (w Microsoft.SqlServer.ManagedDTS.dll)

Składnia

'Deklaracja
Public ReadOnly Property Current As Object
    Get
'Użycie
Dim instance As DtsEnumerator
Dim value As Object

value = instance.Current
public Object Current { get; }
public:
virtual property Object^ Current {
    Object^ get () sealed;
}
abstract Current : Object
override Current : Object
final function get Current () : Object

Wartość właściwości

Typ: System.Object
Bieżący element kolekcja.

Implementacje

IEnumerator.Current

Uwagi

Po utworzeniu moduł wyliczający lub po wywołaniu Reset metody, MoveNext jest wywoływana metoda zaliczki modułu wyliczającego do pierwszego elementu kolekcja przed odczytywania wartości Current; w przeciwnym razie Current jest niezdefiniowane.

Currentrównież zgłasza wyjątek, jeśli wywołanie ostatniego MoveNext zwracane false, które wskazuje koniec kolekcja.

Currentnie przenosi pozycja modułu wyliczającego i dlatego kolejne wywołania Current zwraca ten sam obiekt, aż do MoveNext lub Reset jest nazywany.

Moduł wyliczający zachowuje ważność tak długo, jak długo kolekcja pozostaje niezmieniony.Jeśli zmian do kolekcja, takie jak dodawanie, modyfikowanie lub usuwanie elementów, moduł wyliczający bezpowrotnie unieważniona i wywołanie następnego MoveNext lub Reset generuje InvalidOperationException.Jeśli kolekcja jest zmodyfikowany między MoveNext i Current, Current zwraca element, który jest zestaw , nawet jeśli moduł wyliczający jest już unieważnionych.

Przykłady

Poniższy przykład kodu dodaje zadanie do pakietu, a następnie uruchamia pakiet.Kolekcja ostrzeżenia jest tworzony przez tworzenie WarningEnumerator, która dziedziczy to DtsEnumerator klasy i wyświetla każde ostrzeżenie przy użyciu opisu Current i MoveNext metod, aby przejrzeć ostrzeżenia w kolekcji.

using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.SqlServer.Dts.Runtime;
using Microsoft.SqlServer.Dts.Tasks.ExecuteSQLTask;

namespace Microsoft.SqlServer.SSIS.Samples
{
    class Program
    {
        static void Main(string[] args)
        {
            Package package = new Package();
            Console.WriteLine("Package warnings count before running: {0}", package.Warnings.Count);

            TaskHost taskH2 = (TaskHost)package.Executables.Add("STOCK:SendMailTask");
            taskH2.FailPackageOnFailure = false;
            taskH2.FailParentOnFailure = false;
            Console.WriteLine("SendMailTask: {0}", taskH2.ID);
 
            // Test that warnings were successfully added to the collection.
            package.MaximumErrorCount = 100;
            package.FailPackageOnFailure = false;
            package.FailParentOnFailure = false;
            package.DelayValidation = true;
            package.Execute();

            Console.WriteLine("Package warnings count after running the package: {0}", package.Warnings.Count);

            // Create the enumerator.
            WarningEnumerator myEnumerator = package.Warnings.GetEnumerator();
            Console.WriteLine("The collection contains the following values:");
            int i = 0;
            while ((myEnumerator.MoveNext()) && (myEnumerator.Current != null))
                Console.WriteLine("[{0}] {1}", i++, myEnumerator.Current.Description);
        }
    }
}
Imports System
Imports System.Collections.Generic
Imports System.Text
Imports Microsoft.SqlServer.Dts.Runtime
Imports Microsoft.SqlServer.Dts.Tasks.ExecuteSQLTask
 
Namespace Microsoft.SqlServer.SSIS.Samples
    Class Program
        Shared  Sub Main(ByVal args() As String)
            Dim package As Package =  New Package() 
            Console.WriteLine("Package warnings count before running: {0}", package.Warnings.Count)
 
            Dim taskH2 As TaskHost = CType(package.Executables.Add("STOCK:SendMailTask"), TaskHost)
            taskH2.FailPackageOnFailure = False
            taskH2.FailParentOnFailure = False
            Console.WriteLine("SendMailTask: {0}", taskH2.ID)
 
            ' Test that warnings were successfully added to the collection.
            package.MaximumErrorCount = 100
            package.FailPackageOnFailure = False
            package.FailParentOnFailure = False
            package.DelayValidation = True
            package.Execute()
 
            Console.WriteLine("Package warnings count after running the package: {0}", package.Warnings.Count)
 
            ' Create the enumerator.
            Dim myEnumerator As WarningEnumerator =  package.Warnings.GetEnumerator() 
            Console.WriteLine("The collection contains the following values:")
            Dim i As Integer =  0 
            While (myEnumerator.MoveNext()) &&(myEnumerator.Current <> Nothing)
                Console.WriteLine("[{0}] {1}",i = Console.WriteLine("[{0}] {1}",i + 1
            End While
        End Sub
    End Class
End Namespace

Przykładowe dane wyjściowe:

Pakiet liczba ostrzeżeń przed uruchomieniem: 0

SendMailTask: {34CAEFF9-64BF-401 D-B646-C88B705DB971}

Liczba ostrzeżeń pakiet po uruchomieniu tego pakietu: 2

Kolekcja zawiera następujące wartości:

[0] Adres w wierszu od nie jest poprawnie uformowany.Jest brak @ lub nie jest prawidłowy.

[1] Podmiotu jest pusty