ExtendedPropertyEnumerator.Current Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Gibt das aktuelle ExtendedProperty-Objekt aus der Auflistung zurück.
public:
property Microsoft::SqlServer::Dts::Runtime::ExtendedProperty ^ Current { Microsoft::SqlServer::Dts::Runtime::ExtendedProperty ^ get(); };
public Microsoft.SqlServer.Dts.Runtime.ExtendedProperty Current { get; }
member this.Current : Microsoft.SqlServer.Dts.Runtime.ExtendedProperty
Public ReadOnly Property Current As ExtendedProperty
Eigenschaftswert
Das aktuelle ExtendedProperty-Objekt.
Beispiele
Im folgenden Codebeispiel wird ein Aufzählungszeichen erstellt und dann die Current Methoden "MoveNext" verwendet, um über die Auflistung zu navigieren.
using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.SqlServer.Dts.Runtime;
namespace ExtendedProperties_Testing
{
class Program
{
static void Main(string[] args)
{
// The package is one of the SSIS Samples.
string mySample = @"C:\Program Files\Microsoft SQL Server\100\Tools\Samples\1033\DataTransformationServices\Package Samples\CalculatedColumns Sample\CalculatedColumns\CalculatedColumns.dtsx";
// Create the Application, and load the sample.
Application app = new Application();
Package pkg = app.LoadPackage(mySample, null);
// Get the Extended properties collection from the package.
ExtendedProperties myExtProps = pkg.ExtendedProperties;
//Create the Enumerator.
ExtendedPropertyEnumerator myEnumerator = myExtProps.GetEnumerator();
Console.WriteLine("The collection contains the following values:");
int i = 0;
ExtendedProperty myExtProp;
while ((myEnumerator.MoveNext()) && (myEnumerator.Current != null))
{
myExtProp = (ExtendedProperty)myEnumerator.Current;
Console.WriteLine("[{0}] {1}, {2}", i++, myExtProp.ID, myExtProp.DataType);
Console.WriteLine("------------------------------");
}
// 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.
myExtProp = (ExtendedProperty)myEnumerator.Current;
Console.WriteLine("The first item in the enumerator after Reset:");
Console.WriteLine("{0}, {1}", myExtProp.ID, myExtProp.DataType);
Console.WriteLine();
}
}
}
Imports System
Imports System.Collections.Generic
Imports System.Text
Imports Microsoft.SqlServer.Dts.Runtime
Namespace ExtendedProperties_Testing
Class Program
Shared Sub Main(ByVal args() As String)
' The package is one of the SSIS Samples.
Dim mySample As String = "C:\Program Files\Microsoft SQL Server\100\Tools\Samples\1033\DataTransformationServices\Package Samples\CalculatedColumns Sample\CalculatedColumns\CalculatedColumns.dtsx"
' Create the Application, and load the sample.
Dim app As Application = New Application()
Dim pkg As Package = app.LoadPackage(mySample,Nothing)
' Get the Extended properties collection from the package.
Dim myExtProps As ExtendedProperties = pkg.ExtendedProperties
'Create the Enumerator.
Dim myEnumerator As ExtendedPropertyEnumerator = myExtProps.GetEnumerator()
Console.WriteLine("The collection contains the following values:")
Dim i As Integer = 0
Dim myExtProp As ExtendedProperty
While (myEnumerator.MoveNext()) &&(myEnumerator.Current <> Nothing)
myExtProp = CType(myEnumerator.Current, ExtendedProperty)
Console.WriteLine("[{0}] {1}, {2}",i = Console.WriteLine("[{0}] {1}, {2}",i + 1
Console.WriteLine("------------------------------")
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.
myExtProp = CType(myEnumerator.Current, ExtendedProperty)
Console.WriteLine("The first item in the enumerator after Reset:")
Console.WriteLine("{0}, {1}", myExtProp.ID, myExtProp.DataType)
Console.WriteLine()
End Sub
End Class
End Namespace
Beispielausgabe:
Die Auflistung enthält die folgenden Werte:
[0] {F3B7314E-DB1E-4CCA-A856-2E617A1B3265}, String
------------------------------
[1] {AA947F2D-C3B3-420F-B39E-4B7C7DAAFC0}, String
------------------------------
[2] {AB2CCC33-3090-4C36-B444-5B50BB481324}, String
------------------------------
[3] {FE85601C-4ECC-41D4-BEAA-1318DDF7E2A}, String
------------------------------
[4] {4D1641B9-94EF-4144-9820-1B30ABD214F}, String
------------------------------
[5] {4E76A01C-BFF8-462D-AAB0-FB48B3E00}, String
------------------------------
[6] {A56842E2E2-11C1-487E-B670-33F25B534146}, String
------------------------------
Das erste Element im Aufzählerator nach dem Zurücksetzen:
{F3B7314E-DB1E-4CCA-A856-2E617A1B3265}, String
Hinweise
Nachdem ein Aufzählerator erstellt wurde oder nach einem Aufruf der Reset-Methode aufgerufen werden muss, muss die MoveNext-Methode aufgerufen werden, um den Aufzählungsator auf das erste Element der Auflistung zu verschieben, bevor der Aufzählungsator den Wert der Current-Eigenschaft lesen kann; andernfalls ist Current nicht definiert und löst eine Ausnahme aus.
Current löst auch eine Ausnahme aus, wenn der letzte Aufruf von MoveNext zurückgegeben false
wird, der das Ende der Auflistung angibt.
Current verschiebt die Position des Enumerators nicht, und fortlaufende Aufrufe an Current geben das gleiche Objekt zurück, bis 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; Der nächste Aufruf von MoveNext oder Reset löst daher eine InvalidOperationException aus. Wenn die Auflistung zwischen Aufrufen von MoveNext und Current geändert wird, gibt Current das Element zurück, auf das sie festgelegt ist, auch wenn die Aufzählung ungültig wurde.