Share via


RunningPackagesEnumerator.Current Propriété

Définition

Retourne l'objet RunningPackage actuel à partir de la collection.

public:
 property Microsoft::SqlServer::Dts::Runtime::RunningPackage ^ Current { Microsoft::SqlServer::Dts::Runtime::RunningPackage ^ get(); };
public Microsoft.SqlServer.Dts.Runtime.RunningPackage Current { get; }
member this.Current : Microsoft.SqlServer.Dts.Runtime.RunningPackage
Public ReadOnly Property Current As RunningPackage

Valeur de propriété

Objet RunningPackage.

Exemples

L’exemple de code suivant crée un énumérateur pour itérer sur les packages en cours d’exécution.

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  

Remarques

Une fois qu’un énumérateur est créé ou après un appel à la Reset méthode, la MoveNext méthode doit être appelée pour faire passer l’énumérateur au premier élément de la collection avant que l’énumérateur puisse lire la valeur de la Current propriété ; sinon, Current elle n’est pas définie et lève une exception.

Current lève également une exception si le dernier appel à MoveNext retourner false, qui indique la fin de la collection.

Current ne déplace pas la position de l’énumérateur et les appels consécutifs pour Current retourner le même objet tant que l’un MoveNext ou Reset l’autre n’est pas appelé.

Un énumérateur reste valide aussi longtemps que la collection demeure inchangée. Si des modifications sont apportées à la collection, telles que l’ajout, la modification ou la suppression d’éléments, l’énumérateur est invalidé et devient irrécupérable ; ainsi, l’appel suivant à MoveNext ou Reset lève un InvalidOperationException. Toutefois, si la collection est modifiée entre les appels et MoveNextCurrent, Current retourne l’élément sur lequel il est défini, même si l’énumérateur a été invalidé.

S’applique à