Share via


PropertyEnumerator.Current Propriété

Définition

Retourne l'élément DtsProperty actuel dans la collection.

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

Valeur de propriété

Objet DtsProperty.

Exemples

L’exemple de code suivant crée un PropertyEnumerator, puis montre l’utilisation des méthodes et Current des MoveNext méthodes pour passer au-dessus de la collection.

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  

Exemple de sortie :

Contient CertificateObject ? True

Propriété 5 est Configurations

[0] CertificateContext

[1] CertificateObject

[2] CheckpointFileName

[3] CheckpointUsage

[4] CheckSignatureOnLoad

Configurations [5]

[6] Connexions

[7] CreationDate

[8] CreationName

[9] CreatorComputerName

[10] CreatorName

[11] DelayValidation

. . .

[63] VersionGUID

[64] VersionMajor

[65] VersionMinor

Avertissements [66]

Remarques

Une fois qu’un énumérateur est créé ou après un appel à la Reset méthode, la MoveNext méthode doit être appelée pour avancer l’énumérateur vers le premier élément de la collection avant que l’énumérateur puisse lire la valeur de la Current propriété ; sinon, Current elle n’est pas définie et lève une exception.

Current lève également une exception si le dernier appel à MoveNext renvoyer false, qui indique la fin de la collection.

Current ne déplace pas la position de l’énumérateur, et les appels consécutifs pour renvoyer le même objet jusqu’à Current ce que l’un MoveNext ou Reset l’autre soit appelé.

Un énumérateur reste valide aussi longtemps que la collection demeure inchangée. Si des modifications sont apportées à la collection, comme l’ajout, la modification ou la suppression d’éléments, l’énumérateur est invalidé et devient irrécupérable ; par conséquent, l’appel suivant à MoveNext ou Reset lève un InvalidOperationException. Toutefois, si la collection est modifiée entre les appels à MoveNext et Current, Current retourne l’élément sur lequel il est défini, même si l’énumérateur a été invalidé.

S’applique à