ExecutableEnumerator.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.
Ruft das aktuelle Element in der Auflistung ab.
public:
property Microsoft::SqlServer::Dts::Runtime::Executable ^ Current { Microsoft::SqlServer::Dts::Runtime::Executable ^ get(); };
public Microsoft.SqlServer.Dts.Runtime.Executable Current { get; }
member this.Current : Microsoft.SqlServer.Dts.Runtime.Executable
Public ReadOnly Property Current As Executable
Eigenschaftswert
Das aktuelle Element in der Auflistung.
Beispiele
Das folgende Codebeispiel fügt dem Paket eine Bulk Insert-Aufgabe hinzu, ruft die Executables Sammlung ab, erstellt einen Enumerator und zeigt den Namen mit dem TaskHost.
using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.SqlServer.Dts.Runtime;
namespace Executables_API
{
class Program
{
static void Main(string[] args)
{
// Create the package and add the BulkInsertTask.
Package pkg = new Package();
Executable exec = pkg.Executables.Add("STOCK:BulkInsertTask");
// Obtain the collection.
Executables pgkExecs = pkg.Executables;
//Create the Enumerator.
ExecutableEnumerator myEnumerator = pgkExecs.GetEnumerator();
Console.WriteLine("The collection contains the following values:");
int i = 0;
Executable myExec;
TaskHost myTH;
while ((myEnumerator.MoveNext()) && (myEnumerator.Current != null))
{
myExec = (Executable)myEnumerator.Current;
myTH = (TaskHost)myExec;
Console.WriteLine("[{0}] {1}", i++, myTH.Name);
}
// Reset puts the index pointer before the beginning.
// Do not retrieve from the collection until MoveNext is called.
myEnumerator.Reset();
myEnumerator.MoveNext();
}
}
}
Imports System
Imports System.Collections.Generic
Imports System.Text
Imports Microsoft.SqlServer.Dts.Runtime
Namespace Executables_API
Class Program
Shared Sub Main(ByVal args() As String)
' Create the package and add the BulkInsertTask.
Dim pkg As Package = New Package()
Dim exec As Executable = pkg.Executables.Add("STOCK:BulkInsertTask")
' Obtain the collection.
Dim pgkExecs As Executables = pkg.Executables
'Create the Enumerator.
Dim myEnumerator As ExecutableEnumerator = pgkExecs.GetEnumerator()
Console.WriteLine("The collection contains the following values:")
Dim i As Integer = 0
Dim myExec As Executable
Dim myTH As TaskHost
While (myEnumerator.MoveNext()) &&(myEnumerator.Current <> Nothing)
myExec = CType(myEnumerator.Current, Executable)
myTH = CType(myExec, TaskHost)
Console.WriteLine("[{0}] {1}",i = Console.WriteLine("[{0}] {1}",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()
End Sub
End Class
End Namespace
Beispielausgabe:
Die Sammlung enthält folgende Werte:
[0] {C435F0C7-97E8-4DCC-A0FF-C6C805D9F64E}
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 wird beim nächsten Aufruf zu MoveNext oder Reset eine Ausnahme geworfen. 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.