Udostępnij przez


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