Partager via


DataTypeInfoEnumerator.Current Propriété

Définition

Obtient l’élément actuel dans la collection.

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

Valeur de propriété

Élément actuel dans la collection.

Implémente

Exemples

L’exemple de code suivant crée un énumérateur, puis utilise les méthodes et Reset les CurrentMoveNextméthodes pour parcourir la collection.

using System;  
using System.Collections.Generic;  
using System.Text;  
using Microsoft.SqlServer.Dts.Runtime;  
namespace DataTypeInfos_GetEnum_Current  
{  
    class Program  
    {  
        static void Main(string[] args)  
        {  
            //Create the DataTypeInfos collection.  
            DataTypeInfos dataInfos = new Application().DataTypeInfos;  

            //Create the Enumerator.  
            DataTypeInfoEnumerator myEnumerator = dataInfos.GetEnumerator();  
            Console.WriteLine("The collection contains the following values:");  
            int i = 0;  
            DataTypeInfo dtiObject;  
            while ((myEnumerator.MoveNext()) && (myEnumerator.Current != null))  
            {  
                dtiObject = (DataTypeInfo)myEnumerator.Current;  
                Console.WriteLine("[{0}] {1} {2}", i++, dtiObject.TypeName, dtiObject.TypeEnumName);  
            }  
            // 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.  
            dtiObject = (DataTypeInfo)myEnumerator.Current;  
            Console.WriteLine("The first item in the enumerator after Reset:");  
            Console.WriteLine("{0}, {1}", dtiObject.TypeName, dtiObject.TypeEnumName);  
        }  
    }  
}  
Imports System  
Imports System.Collections.Generic  
Imports System.Text  
Imports Microsoft.SqlServer.Dts.Runtime  

Namespace DataTypeInfos_GetEnum_Current  
    Class Program  
        Shared  Sub Main(ByVal args() As String)  
            'Create the DataTypeInfos collection.  
            Dim dataInfos As DataTypeInfos =  New Application().DataTypeInfos   

            'Create the Enumerator.  
            Dim myEnumerator As DataTypeInfoEnumerator =  dataInfos.GetEnumerator()   
            Console.WriteLine("The collection contains the following values:")  
            Dim i As Integer =  0   
            Dim dtiObject As DataTypeInfo  
            While (myEnumerator.MoveNext()) &&(myEnumerator.Current <> Nothing)  
                dtiObject = CType(myEnumerator.Current, DataTypeInfo)  
                Console.WriteLine("[{0}] {1} {2}",i = Console.WriteLine("[{0}] {1} {2}",i + 1  
            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.  
            dtiObject = CType(myEnumerator.Current, DataTypeInfo)  
            Console.WriteLine("The first item in the enumerator after Reset:")  
            Console.WriteLine("{0}, {1}", dtiObject.TypeName, dtiObject.TypeEnumName)  
        End Sub  
    End Class  
End Namespace  

Exemple de sortie :

La collection contient les valeurs suivantes :

[0] float DT_R4

[1] DT_R8 flottant double précision

[2] DT_CY monétaire

[3] date DT_DATE

[4] DT_BOOL booléen

[5] DT_DECIMAL décimale

[6] entier signé sur un octet DT_I1

[7] entier non signé sur un octet DT_UI1

[8] entier signé à deux octets DT_I2

[9] entier non signé à deux octets DT_UI2

[10] entier signé à quatre octets DT_I4

[11] entier non signé à quatre octets DT_UI4

[12] entier signé de huit octets DT_I8

[13] entier non signé de huit octets DT_UI8

[14] horodatage de fichier DT_FILETIME

[15] identificateur unique DT_GUID

[16] flux d’octets DT_BYTES

[17] chaîne DT_STR

[18] Chaîne Unicode DT_WSTR

[19] DT_NUMERIC numériques

[20] date de la base de données DT_DBDATE

[21] heure de la base de données DT_DBTIME

[22] horodatage de base de données DT_DBTIMESTAMP

[23] image DT_IMAGE

[24] flux de texte DT_TEXT

[25] Flux de texte Unicode DT_NTEXT

Premier élément de l’énumérateur après la réinitialisation :

float, DT_R4

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 faire passer l’énumérateur au premier élément de la collection avant de 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 retourner false, qui indique la fin de la collection.

Current ne déplace pas la position de l’énumérateur et les appels consécutifs au retour du Current même objet jusqu’à 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, telles que l’ajout, la modification ou la suppression d’éléments, l’énumérateur est invalidé et devient irrécupérable. 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 à