Freigeben über


DtsEnumerator.Current Eigenschaft

Definition

Ruft das aktuelle Element in der Auflistung ab.

public:
 property System::Object ^ Current { System::Object ^ get(); };
public object Current { get; }
member this.Current : obj
Public ReadOnly Property Current As Object

Eigenschaftswert

Das aktuelle Element in der Auflistung.

Implementiert

Beispiele

Im folgenden Codebeispiel wird einem Paket eine Aufgabe hinzugefügt, und anschließend wird das Paket ausgeführt. Die Warnungssammlung wird erstellt, indem sie ein WarningEnumerator, das von dieser DtsEnumerator Klasse erbt, und zeigt jede Warnungsbeschreibung mithilfe Current und MoveNext Methoden an, um die Warnungen in der Auflistung zu überprüfen.

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  

Beispielausgabe:

Paketwarnungen zählen vor der Ausführung: 0

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

Paketwarnungen zählen nach dem Ausführen des Pakets: 2

Die Auflistung enthält die folgenden Werte:

[0] Die Adresse in der Zeile "Von" wird nicht richtig gebildet. Es fehlt ein @, oder es ist ungültig.

[1] Betreff ist leer

Hinweise

Nachdem ein Aufzählungsator erstellt oder nach einem Aufruf der Reset Methode aufgerufen wurde, muss die MoveNext Methode aufgerufen werden, um den Aufzählungsator zum ersten Element der Auflistung zu wechseln, bevor der Wert von Current; andernfalls Current nicht definiert ist.

Current Löst auch eine Ausnahme aus, wenn der letzte Aufruf zurückgegeben MoveNext wird false, der das Ende der Auflistung angibt.

Current verschiebt die Position des Aufzählungszeichens nicht, und daher werden aufeinanderfolgende Aufrufe, um Current dasselbe Objekt zurückzugeben, bis eine MoveNext oder Reset die aufgerufen wird.

Ein Enumerator bleibt gültig, solange die Auflistung unverändert bleibt. Wenn Änderungen an der Auflistung vorgenommen werden, z. B. Hinzufügen, Ändern oder Löschen von Elementen, wird der Aufzählungsator unwiderruflich ungültig und der nächste Aufruf MoveNextReset oder löst einen InvalidOperationException. Wenn die Auflistung zwischen MoveNext und Current geändert wird, gibt Current das Element zurück, auf das der Enumerator gesetzt wurde, auch wenn er bereits ungültig ist.

Gilt für: