Freigeben über


PropertyEnumerator.Current Eigenschaft

Definition

Gibt das aktuelle DtsProperty-Element aus der Auflistung zurück.

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

Eigenschaftswert

Ein DtsProperty-Objekt.

Beispiele

Im folgenden Codebeispiel wird eine PropertyEnumerator, dann die Verwendung der Methoden und Methoden zum Verschieben über die MoveNextCurrent Auflistung angezeigt.

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

namespace DtsProperties_API  
{  
    class Program  
    {  
        static void Main(string[] args)  
        {  
            Package pkg = new Package();  

            // Get the Properties collection from the package.  
            // This shows the default properties set on new packages.  
            DtsProperties pkgProperties = pkg.Properties;  

           // Create the enumerator.  
            PropertyEnumerator myEnumerator = pkgProperties.GetEnumerator();  

            // Show the use of the Contains method.  
            Boolean containsCertObj = pkgProperties.Contains("CertificateObject");  
            Console.WriteLine("Contains CertificateObject? {0}", containsCertObj);  

            // Show the use of the item[x] syntax.  
            String aName = pkgProperties[5].Name;  
            Console.WriteLine("Property 5 is {0}", aName);  

            // Show the use of the MoveNext and Current methods.  
            int i = 0;  
            while ((myEnumerator.MoveNext()) && (myEnumerator.Current != null))  
            {  
                Console.WriteLine("[{0}] {1}", i++, myEnumerator.Current.Name);  
            }  
        }  
    }  
}  
Imports System  
Imports System.Collections.Generic  
Imports System.Text  
Imports Microsoft.SqlServer.Dts.Runtime  

Namespace DtsProperties_API  
    Class Program  
        Shared  Sub Main(ByVal args() As String)  
            Dim pkg As Package =  New Package()   

            ' Get the Properties collection from the package.  
            ' This shows the default properties set on new packages.  
            Dim pkgProperties As DtsProperties =  pkg.Properties   

           ' Create the enumerator.  
            Dim myEnumerator As PropertyEnumerator =  pkgProperties.GetEnumerator()   

            ' Show the use of the Contains method.  
            Dim containsCertObj As Boolean =  pkgProperties.Contains("CertificateObject")   
            Console.WriteLine("Contains CertificateObject? {0}", containsCertObj)  

            ' Show the use of the item[x] syntax.  
            Dim aName As String =  pkgProperties(5).Name   
            Console.WriteLine("Property 5 is {0}", aName)  

            ' Show the use of the MoveNext and Current methods.  
            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:

Enthält CertificateObject? True

Eigenschaft 5 ist Konfigurationen

[0] CertificateContext

[1] CertificateObject

[2] CheckpointFileName

[3] CheckpointUsage

[4] CheckSignatureOnLoad

[5] Konfigurationen

[6] Verbindungen

[7] CreationDate

[8] CreationName

[9] CreatorComputerName

[10] CreatorName

[11] DelayValidation

. . .

[63] VersionGUID

[64] VersionMajor

[65] VersionMinor

[66] Warnungen

Hinweise

Nachdem ein Aufzählerator erstellt wurde, oder nachdem ein Aufruf Reset der Methode aufgerufen wurde, muss die MoveNext Methode aufgerufen werden, um den Aufzählungsator auf das erste Element der Auflistung zu aktualisieren, bevor der Aufzählungsator den Wert Current der Eigenschaft lesen kann; andernfalls Current wird eine Ausnahme ausgelöst.

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

Current verschiebt die Position des Enumerators nicht, und fortlaufende Aufrufe, um Current dasselbe Objekt zurückzugeben, bis sie 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; So wird der nächste Aufruf an MoveNext oder Reset löst eine InvalidOperationException. Wenn die Auflistung jedoch zwischen MoveNext aufrufen und Currentgeändert wird, Current gibt das Element zurück, auf das er festgelegt ist, auch wenn der Aufzählerator ungültig wurde.

Gilt für: