RunningPackagesEnumerator.Current Proprietà
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Restituisce l'oggetto RunningPackage corrente dalla raccolta.
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
Valore della proprietà
Un oggetto RunningPackage.
Esempio
Nell'esempio di codice seguente viene creato un enumeratore per scorrere i pacchetti in esecuzione.
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
Commenti
Dopo la creazione di un enumeratore o dopo una chiamata al Reset
metodo , è necessario chiamare il MoveNext
metodo per far avanzare l'enumeratore al primo elemento della raccolta prima che l'enumeratore possa leggere il valore della Current proprietà; in caso contrario, Current non è definito e genera un'eccezione.
Current genera anche un'eccezione se l'ultima chiamata a MoveNext
restituisce false
, che indica la fine della raccolta.
Current non sposta la posizione dell'enumeratore e le chiamate consecutive per restituire lo stesso oggetto fino a Current quando MoveNext
non viene chiamato o Reset
.
Un enumeratore rimane valido finché la raccolta rimane invariata. Se vengono apportate modifiche alla raccolta, ad esempio l'aggiunta, la modifica o l'eliminazione di elementi, l'enumeratore viene invalidato e diventa irrecuperabile; pertanto, la chiamata successiva a MoveNext
o Reset
genera un'eccezione InvalidOperationException
. Tuttavia, se la raccolta viene modificata tra le chiamate a MoveNext
e Current, Current restituisce l'elemento su cui è impostato, anche se l'enumeratore è stato invalidato.