Freigeben über


DataTypeInfoEnumerator.Current Eigenschaft

Definition

Ruft das aktuelle Element in der Auflistung ab.

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

Eigenschaftswert

Das aktuelle Element in der Auflistung.

Implementiert

Beispiele

Im folgenden Codebeispiel wird eine Aufzählung erstellt und dann die CurrentMoveNextReset Methoden zum Navigieren über die Auflistung verwendet.

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  

Beispielausgabe:

Die Auflistung enthält die folgenden Werte:

[0] Float DT_R4

[1] Double-Precision Float DT_R8

[2] Währung DT_CY

[3] Datum DT_DATE

[4] Boolesche DT_BOOL

[5] Dezimal-DT_DECIMAL

[6] Ein-Byte-ganzzahlige DT_I1

[7] Single-Byte unsignierte ganze Zahl DT_UI1

[8] Zwei byte signierte ganzzahlige DT_I2

[9] Zwei-Byte nicht signierte ganzzahlige DT_UI2

[10] Vier byte signierte ganze Zahl DT_I4

[11] Vier byte nicht signierte ganze Zahl DT_UI4

[12] Acht byte signierte ganze Zahl DT_I8

[13] Acht byte nicht signierte ganzzahlige DT_UI8

[14] Dateizeitstempel DT_FILETIME

[15] eindeutiger Bezeichner DT_GUID

[16] Bytestrom DT_BYTES

[17] Zeichenfolge DT_STR

[18] Unicode-Zeichenfolge DT_WSTR

[19] numerische DT_NUMERIC

[20] Datenbankdatum DT_DBDATE

[21] Datenbankzeit DT_DBTIME

[22] Datenbankzeitstempel DT_DBTIMESTAMP

[23] Bild DT_IMAGE

[24] Textstrom DT_TEXT

[25] Unicode-Textstrom DT_NTEXT

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

Float, DT_R4

Hinweise

Nachdem ein Aufzählungszeichen erstellt wurde, oder nachdem ein Aufruf Reset der Methode aufgerufen wurde, muss die MoveNext Methode aufgerufen werden, um das Aufzählungszeichen auf das erste Element der Auflistung zu aktualisieren, bevor der Wert der Current Eigenschaft gelesen wird. 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.

Currentverschiebt die Position des Enumerators nicht, und fortlaufende Aufrufe an das Current gleiche Objekt werden erst zurückgegeben, wenn Reset sie MoveNext aufgerufen werden.

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. Wenn die Auflistung zwischen MoveNext aufrufen und Currentgeändert wird, Current gibt das Element zurück, auf das er festgelegt ist, auch wenn der Aufzählungsator ungültig wurde.

Gilt für: