Freigeben über


ExtendedPropertyEnumerator.Current Eigenschaft

Definition

Gibt das aktuelle ExtendedProperty-Objekt aus der Auflistung zurück.

public:
 property Microsoft::SqlServer::Dts::Runtime::ExtendedProperty ^ Current { Microsoft::SqlServer::Dts::Runtime::ExtendedProperty ^ get(); };
public Microsoft.SqlServer.Dts.Runtime.ExtendedProperty Current { get; }
member this.Current : Microsoft.SqlServer.Dts.Runtime.ExtendedProperty
Public ReadOnly Property Current As ExtendedProperty

Eigenschaftswert

Das aktuelle ExtendedProperty-Objekt.

Beispiele

Im folgenden Codebeispiel wird ein Aufzählungszeichen erstellt und dann die Current Methoden "MoveNext" verwendet, um über die Auflistung zu navigieren.

using System;  
using System.Collections.Generic;  
using System.Text;  
using Microsoft.SqlServer.Dts.Runtime;  
namespace ExtendedProperties_Testing  
{  
    class Program  
    {  
        static void Main(string[] args)  
        {  
            // The package is one of the SSIS Samples.  
            string mySample = @"C:\Program Files\Microsoft SQL Server\100\Tools\Samples\1033\DataTransformationServices\Package Samples\CalculatedColumns Sample\CalculatedColumns\CalculatedColumns.dtsx";  
            // Create the Application, and load the sample.  
            Application app = new Application();  
            Package pkg = app.LoadPackage(mySample, null);  

            // Get the Extended properties collection from the package.  
            ExtendedProperties myExtProps = pkg.ExtendedProperties;  
            //Create the Enumerator.  
            ExtendedPropertyEnumerator myEnumerator = myExtProps.GetEnumerator();  

            Console.WriteLine("The collection contains the following values:");  
            int i = 0;  
            ExtendedProperty myExtProp;  
            while ((myEnumerator.MoveNext()) && (myEnumerator.Current != null))  
            {  
                myExtProp = (ExtendedProperty)myEnumerator.Current;  
                Console.WriteLine("[{0}] {1}, {2}", i++, myExtProp.ID, myExtProp.DataType);  
                Console.WriteLine("------------------------------");  
            }  
            // Reset puts the index pointer before the beginning.  
            // Do not retrieve from the collection until MoveNext is called.  
            myEnumerator.Reset();  
            myEnumerator.MoveNext();  

            // Now that the enumerator has been reset, and moved to the  
            // first item in the collection, show the first item.  
            myExtProp = (ExtendedProperty)myEnumerator.Current;  
            Console.WriteLine("The first item in the enumerator after Reset:");  
            Console.WriteLine("{0}, {1}", myExtProp.ID, myExtProp.DataType);  
            Console.WriteLine();  
        }  
    }  
}  
Imports System  
Imports System.Collections.Generic  
Imports System.Text  
Imports Microsoft.SqlServer.Dts.Runtime  

Namespace ExtendedProperties_Testing  
    Class Program  
        Shared  Sub Main(ByVal args() As String)  
            ' The package is one of the SSIS Samples.  
            Dim mySample As String =  "C:\Program Files\Microsoft SQL Server\100\Tools\Samples\1033\DataTransformationServices\Package Samples\CalculatedColumns Sample\CalculatedColumns\CalculatedColumns.dtsx"   
            ' Create the Application, and load the sample.  
            Dim app As Application =  New Application()   
            Dim pkg As Package =  app.LoadPackage(mySample,Nothing)   

            ' Get the Extended properties collection from the package.  
            Dim myExtProps As ExtendedProperties =  pkg.ExtendedProperties   
            'Create the Enumerator.  
            Dim myEnumerator As ExtendedPropertyEnumerator =  myExtProps.GetEnumerator()   

            Console.WriteLine("The collection contains the following values:")  
            Dim i As Integer =  0   
            Dim myExtProp As ExtendedProperty  
            While (myEnumerator.MoveNext()) &&(myEnumerator.Current <> Nothing)  
                myExtProp = CType(myEnumerator.Current, ExtendedProperty)  
                Console.WriteLine("[{0}] {1}, {2}",i = Console.WriteLine("[{0}] {1}, {2}",i + 1  
                Console.WriteLine("------------------------------")  
            End While  
            ' Reset puts the index pointer before the beginning.  
            ' Do not retrieve from the collection until MoveNext is called.  
            myEnumerator.Reset()  
            myEnumerator.MoveNext()  

            ' Now that the enumerator has been reset, and moved to the  
            ' first item in the collection, show the first item.  
            myExtProp = CType(myEnumerator.Current, ExtendedProperty)  
            Console.WriteLine("The first item in the enumerator after Reset:")  
            Console.WriteLine("{0}, {1}", myExtProp.ID, myExtProp.DataType)  
            Console.WriteLine()  
        End Sub  
    End Class  
End Namespace  

Beispielausgabe:

Die Auflistung enthält die folgenden Werte:

[0] {F3B7314E-DB1E-4CCA-A856-2E617A1B3265}, String

------------------------------

[1] {AA947F2D-C3B3-420F-B39E-4B7C7DAAFC0}, String

------------------------------

[2] {AB2CCC33-3090-4C36-B444-5B50BB481324}, String

------------------------------

[3] {FE85601C-4ECC-41D4-BEAA-1318DDF7E2A}, String

------------------------------

[4] {4D1641B9-94EF-4144-9820-1B30ABD214F}, String

------------------------------

[5] {4E76A01C-BFF8-462D-AAB0-FB48B3E00}, String

------------------------------

[6] {A56842E2E2-11C1-487E-B670-33F25B534146}, String

------------------------------

Das erste Element im Aufzählerator nach dem Zurücksetzen:

{F3B7314E-DB1E-4CCA-A856-2E617A1B3265}, String

Hinweise

Nachdem ein Aufzählerator erstellt wurde oder nach einem Aufruf der Reset-Methode aufgerufen werden muss, muss die MoveNext-Methode aufgerufen werden, um den Aufzählungsator auf das erste Element der Auflistung zu verschieben, bevor der Aufzählungsator den Wert der Current-Eigenschaft lesen kann; andernfalls ist Current nicht definiert und löst eine Ausnahme aus.

Current löst auch eine Ausnahme aus, wenn der letzte Aufruf von MoveNext zurückgegeben falsewird, der das Ende der Auflistung angibt.

Current verschiebt die Position des Enumerators nicht, und fortlaufende Aufrufe an Current geben das gleiche Objekt zurück, bis entweder MoveNext oder Reset 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 ungültig und kann nicht wiederhergestellt werden; Der nächste Aufruf von MoveNext oder Reset löst daher eine InvalidOperationException aus. Wenn die Auflistung zwischen Aufrufen von MoveNext und Current geändert wird, gibt Current das Element zurück, auf das sie festgelegt ist, auch wenn die Aufzählung ungültig wurde.

Gilt für: