Właściwość ConnectionEnumerator.Current
Pobiera bieżący ConnectionManager obiekt z Connections kolekcja.
Przestrzeń nazw: Microsoft.SqlServer.Dts.Runtime
Zestaw: Microsoft.SqlServer.ManagedDTS (w Microsoft.SqlServer.ManagedDTS.dll)
Składnia
'Deklaracja
Public ReadOnly Property Current As ConnectionManager
Get
'Użycie
Dim instance As ConnectionEnumerator
Dim value As ConnectionManager
value = instance.Current
public ConnectionManager Current { get; }
public:
property ConnectionManager^ Current {
ConnectionManager^ get ();
}
member Current : ConnectionManager
function get Current () : ConnectionManager
Wartość właściwości
Typ: Microsoft.SqlServer.Dts.Runtime.ConnectionManager
A ConnectionManager 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 przed odczytywania wartości moduł wyliczający 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.Jeśli kolekcja jest zmodyfikowany między wywołania MoveNext i Current, Current zwraca element, który jest zestaw , nawet jeśli moduł wyliczający został unieważniony.
Przykłady
Poniższy przykładowy kod tworzy moduł wyliczający, a następnie używa Current i MoveNext metod nawigacji przez kolekcja.
using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.SqlServer.Dts.Runtime;
namespace ConnMgr_GetEnum_Current
{
class Program
{
static void Main(string[] args)
{
// The package is one of the SSIS Samples.
string mySample = @"C:\Program Files\Microsoft SQL Server\100\Samples\Integration Services\Package Samples\CalculatedColumns Sample\CalculatedColumns\CalculatedColumns.dtsx";
// Create the application, and load the sample.
Application app = new Application();
Package pkg = app.LoadPackage(mySample, null);
// Get the Connections collection from the package.
Connections conns = pkg.Connections;
//Create the Enumerator.
ConnectionEnumerator myEnumerator = conns.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.Name);
}
}
}
Imports System
Imports System.Collections.Generic
Imports System.Text
Imports Microsoft.SqlServer.Dts.Runtime
Namespace ConnMgr_GetEnum_Current
Class Program
Shared Sub Main(ByVal args() As String)
' The package is one of the SSIS Samples.
Dim mySample As String = "C:\Program Files\Microsoft SQL Server\100\Samples\Integration Services\Package Samples\CalculatedColumns Sample\CalculatedColumns\CalculatedColumns.dtsx"
' Create the application, and load the sample.
Dim app As Application = New Application()
Dim pkg As Package = app.LoadPackage(mySample,Nothing)
' Get the Connections collection from the package.
Dim conns As Connections = pkg.Connections
'Create the Enumerator.
Dim myEnumerator As ConnectionEnumerator = conns.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
Przykładowe dane wyjściowe:
The collection contains the following values:
[0] localhost.AdventureWorks2008R2
[1] Transaction Summary by Product1