PropertyEnumerator.Current Eigenschaft

Definition

Gibt das aktuelle DtsProperty Element in der Sammlung 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

Das folgende Codebeispiel erzeugt ein PropertyEnumerator, zeigt dann die Verwendung der MoveNext und-Methoden Current , um über die Sammlung zu bewegen.

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] ZertifikatKontext

[1] CertificateObject

[2] CheckpointDateiName

[3] Checkpoint-Nutzung

[4] CheckSignatureOnLoad

[5] Konfigurationen

[6] Verbindungen

[7] Entstehungsdatum

[8] CreationName

[9] SchöpferComputerName

[10] CreatorName

[11] Verzögerungsvalidierung

. . .

[63] VersionGUID

[64] VersionMajor

[65] VersionMinor

[66] Warnungen

Hinweise

Nachdem ein Enumerator erstellt wurde oder nach einem Aufruf der Methode Reset , muss die MoveNext Methode aufgerufen werden, um den Enumerator auf das erste Element der Sammlung vorzuschieben, bevor der Enumerator den Wert der Eigenschaft Current lesen kann; andernfalls ist undefiniert Current und wirft eine Ausnahme.

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

Current verschärbt die Position des Enumerators nicht, und aufeinander folgende Aufrufe, um Current dasselbe Objekt zurückzugeben, bis eine MoveNext oder Reset eine aufgerufen wird.

Ein Enumerator bleibt gültig, solange die Auflistung unverändert bleibt. Wenn Änderungen an der Sammlung vorgenommen werden, wie das Hinzufügen, Ändern oder Löschen von Elementen, wird der Enumerator ungültig und nicht mehr wiederherstellbar; Daher wirft der nächste Aufruf zu MoveNext oder Reset ein InvalidOperationException. Wenn die Sammlung jedoch zwischen Aufrufen von MoveNext und CurrentCurrent geändert wird, wird das Element zurückgegeben, auf das sie gesetzt ist, selbst wenn der Enumerator ungültig gemacht wurde.

Gilt für: