Właściwość ConfigurationEnumerator.Current
Pobiera bieżący Configuration 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 Configuration
Get
'Użycie
Dim instance As ConfigurationEnumerator
Dim value As Configuration
value = instance.Current
public Configuration Current { get; }
public:
property Configuration^ Current {
Configuration^ get ();
}
member Current : Configuration
function get Current () : Configuration
Wartość właściwości
Typ: Microsoft.SqlServer.Dts.Runtime.Configuration
Bieżący element kolekcja.
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 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 kod ilustruje tworzenie ConfigurationEnumerator, następnie dokonuje iteracji kolekcja, wyświetlanie nazw konfiguracja.
using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.SqlServer.Dts.Runtime;
namespace Configurations_API
{
class Program
{
static void Main(string[] args)
{
Package p = new Package();
Configuration conf1 = p.Configurations.Add();
conf1.ConfigurationString = "Conf1 Configuration String";
conf1.ConfigurationType = DTSConfigurationType.EnvVariable;
conf1.Description = "Some description for Conf1 configuration";
conf1.Name = "Conf1";
conf1.PackagePath = "A Variable Name in configuration Conf1";
Configuration conf2 = p.Configurations.Add();
conf2.ConfigurationString = "Conf2 Configuration String";
conf2.ConfigurationType = DTSConfigurationType.ConfigFile;
conf2.Description = "Some description for Conf2 configuration";
conf2.Name = "Conf2";
conf2.PackagePath = "A Variable Name in configuration Conf2";
Configuration conf3 = p.Configurations.Add();
conf3.ConfigurationString = "Conf3 Configuration String2";
conf3.ConfigurationType = DTSConfigurationType.RegEntry;
conf3.Description = "Conf3 description for Conf3 configuration2";
conf3.Name = "Conf3";
conf3.PackagePath = "A Variable Name in configuration Conf3";
Configurations pkgConfigs = p.Configurations;
ConfigurationEnumerator myEnumerator = pkgConfigs.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 Configurations_API
Class Program
Shared Sub Main(ByVal args() As String)
Dim p As Package = New Package()
Dim conf1 As Configuration = p.Configurations.Add()
conf1.ConfigurationString = "Conf1 Configuration String"
conf1.ConfigurationType = DTSConfigurationType.EnvVariable
conf1.Description = "Some description for Conf1 configuration"
conf1.Name = "Conf1"
conf1.PackagePath = "A Variable Name in configuration Conf1"
Dim conf2 As Configuration = p.Configurations.Add()
conf2.ConfigurationString = "Conf2 Configuration String"
conf2.ConfigurationType = DTSConfigurationType.ConfigFile
conf2.Description = "Some description for Conf2 configuration"
conf2.Name = "Conf2"
conf2.PackagePath = "A Variable Name in configuration Conf2"
Dim conf3 As Configuration = p.Configurations.Add()
conf3.ConfigurationString = "Conf3 Configuration String2"
conf3.ConfigurationType = DTSConfigurationType.RegEnTry
conf3.Description = "Conf3 description for Conf3 configuration2"
conf3.Name = "Conf3"
conf3.PackagePath = "A Variable Name in configuration Conf3"
Dim pkgConfigs As Configurations = p.Configurations
Dim myEnumerator As ConfigurationEnumerator = pkgConfigs.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:
Kolekcja zawiera następujące wartości:
[0] Conf1
[1] Conf2
[2] Conf3
Zobacz także