Share via


RunningPackagesEnumerator.Current Propiedad

Definición

Devuelve el objeto RunningPackage actual de la colección.

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

Valor de propiedad

Un objeto RunningPackage.

Ejemplos

En el ejemplo de código siguiente se crea un enumerador para iterar los paquetes en ejecución.

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  

Comentarios

Después de crear un enumerador o después de una llamada al Reset método , MoveNext se debe llamar al método para avanzar el enumerador al primer elemento de la colección antes de que el enumerador pueda leer el valor de la Current propiedad; de lo contrario, Current no está definido y produce una excepción.

Currenttambién produce una excepción si se devuelve falsela última llamada a MoveNext , que indica el final de la colección.

Currentno mueve la posición del enumerador y las llamadas consecutivas para devolver el mismo objeto hasta que MoveNext se llama a Current o Reset .

Un enumerador sigue siendo válido mientras la colección permanezca inalterada. Si se realizan cambios en la colección, como agregar, modificar o eliminar elementos, el enumerador se invalida y se convierte en irrecuperable; por lo tanto, la siguiente llamada a MoveNext o Reset produce una InvalidOperationExceptionexcepción . Sin embargo, si la colección se modifica entre las llamadas a MoveNext y Current, Current devuelve el elemento en el que se establece, incluso si el enumerador se ha invalidado.

Se aplica a