Właściwość RunningPackagesEnumerator.Current
Zwraca bieżący RunningPackage obiekt z kolekcja.
Przestrzeń nazw: Microsoft.SqlServer.Dts.Runtime
Zestaw: Microsoft.SqlServer.ManagedDTS (w Microsoft.SqlServer.ManagedDTS.dll)
Składnia
'Deklaracja
Public ReadOnly Property Current As RunningPackage
Get
'Użycie
Dim instance As RunningPackagesEnumerator
Dim value As RunningPackage
value = instance.Current
public RunningPackage Current { get; }
public:
property RunningPackage^ Current {
RunningPackage^ get ();
}
member Current : RunningPackage
function get Current () : RunningPackage
Wartość właściwości
Typ: Microsoft.SqlServer.Dts.Runtime.RunningPackage
A RunningPackage obiektu.
Uwagi
Po utworzeniu moduł wyliczający lub po wywołaniu zresetować metody, MoveNext metoda musi zostać wywołana, aby przejść do pierwszego elementu kolekcja modułu wyliczającego, zanim modułu wyliczającego można odczytać wartości Current właściwość; w przeciwnym razie Current jest niezdefiniowany i zgłasza wyjątek.
Currentrównież zgłasza wyjątek, jeśli wywołanie ostatniego MoveNext zwracane false, które wskazuje koniec kolekcja.
Currentnie przenosi pozycja modułu wyliczającego i kolejne wywołania Current zwracają ten sam obiekt, aż do MoveNext lub zresetować jest wywoływana.
Moduł wyliczający zachowuje ważność tak długo, jak długo kolekcja pozostaje niezmieniony.Jeśli zmiany zostaną wprowadzone do kolekcja, takie jak dodawanie, modyfikowanie lub usuwanie elementów, moduł wyliczający jest unieważniona i staje się odzyskane; Dlatego kolejne wywołanie MoveNext lub zresetować generuje InvalidOperationException.Jednak jeśli od modyfikacji kolekcja między wywołaniami MoveNext i Current, Current zwraca element, który jest zestaw , nawet jeśli moduł wyliczający został unieważniony.
Przykłady
Poniższy przykład kodu tworzy moduł wyliczający do iterować przez uruchomione pakietów.
using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.SqlServer.Dts.Runtime;
namespace RunningPackages
{
class Program
{
static void Main(string[] args)
{
Application app = new Application();
RunningPackages pkgs = app.GetRunningPackages("YOURSERVER");
int pkgsRunning = pkgs.Count;
Console.WriteLine("Packages before stop: " + pkgsRunning);
// Get the RunningPackages collection from the package.
RunningPackages runPkgs = app.GetRunningPackages("YOURSERVER ");
//Create the Enumerator.
RunningPackagesEnumerator myEnumerator = runPkgs.GetEnumerator();
Console.WriteLine("The collection contains the following values:");
int i = 0;
while ((myEnumerator.MoveNext()) && (myEnumerator.Current != null))
Console.WriteLine("[{0}] {1}", i++, myEnumerator.Current.PackageDescription);
}
}
}
Imports System
Imports System.Collections.Generic
Imports System.Text
Imports Microsoft.SqlServer.Dts.Runtime
Namespace RunningPackages
Class Program
Shared Sub Main(ByVal args() As String)
Dim app As Application = New Application()
Dim pkgs As RunningPackages = app.GetRunningPackages("YOURSERVER")
Dim pkgsRunning As Integer = pkgs.Count
Console.WriteLine("Packages before stop: " + pkgsRunning)
' Get the RunningPackages collection from the package.
Dim runPkgs As RunningPackages = app.GetRunningPackages("YOURSERVER ")
'Create the Enumerator.
Dim myEnumerator As RunningPackagesEnumerator = runPkgs.GetEnumerator()
Console.WriteLine("The collection contains the following values:")
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
Zobacz także