ConfigurationEnumerator.Current Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает текущий объект Configuration из коллекции.
public:
property Microsoft::SqlServer::Dts::Runtime::Configuration ^ Current { Microsoft::SqlServer::Dts::Runtime::Configuration ^ get(); };
public Microsoft.SqlServer.Dts.Runtime.Configuration Current { get; }
member this.Current : Microsoft.SqlServer.Dts.Runtime.Configuration
Public ReadOnly Property Current As Configuration
Значение свойства
Текущий элемент в коллекции.
Примеры
Следующий пример кода создает ConfigurationEnumeratorитерацию по коллекции, отображая имена конфигураций.
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
Образец вывода:
Коллекция содержит следующие значения:
[0] Conf1
[1] Conf2
[2] Conf3
Комментарии
После создания перечислителя или после вызова Reset
метода необходимо вызвать метод, MoveNext
чтобы перейти перечислителя к первому элементу коллекции перед чтением значения Current свойства; в противном случае Current он не определен и вызывает исключение.
Current также вызывает исключение, если последний вызов MoveNext
возвращенного false
, который указывает конец коллекции.
Current не перемещает позицию перечислителя и последовательные вызовы для возврата одного и того же объекта до MoveNext
вызова или Reset
вызова.
Перечислитель является допустимым до тех пор, пока коллекция остается неизменной. Если изменения вносятся в коллекцию, например добавление, изменение или удаление элементов, перечислитель становится недействительным и становится невосстановимым; таким образом, следующий вызов MoveNext
или Reset
вызов .InvalidOperationException
Однако если коллекция изменяется между вызовами MoveNext
и Current, возвращает элемент, Current которому он задается, даже если перечислитель был недопустим.