Язык

PipelineComponentInfoEnumerator.Current Свойство

Определение

Получает текущий PipelineComponentInfo элемент из коллекции.

public:
 property Microsoft::SqlServer::Dts::Runtime::PipelineComponentInfo ^ Current { Microsoft::SqlServer::Dts::Runtime::PipelineComponentInfo ^ get(); };
public Microsoft.SqlServer.Dts.Runtime.PipelineComponentInfo Current { get; }
member this.Current : Microsoft.SqlServer.Dts.Runtime.PipelineComponentInfo
Public ReadOnly Property Current As PipelineComponentInfo

Значение свойства

Текущий PipelineComponentInfo элемент коллекции.

Примеры

Следующий пример кода создаёт переписчик, а затем использует методы Current и MoveNext для навигации по коллекции.

[C#]

using System;  
using System.Collections.Generic;  
using System.Text;  
using Microsoft.SqlServer.Dts.Runtime;  

namespace TaskInfos_Item  
{  
    class Program  
    {  
        static void Main(string[] args)  
        {  
            Application app = new Application();  
            PipelineComponentInfos pInfos = app.PipelineComponentInfos;  

            //Create the Enumerator.  
            PipelineComponentInfoEnumerator myEnumerator= pInfos.GetEnumerator();  
            Console.WriteLine("The collection contains the following values:");  
            int i = 0;  
            while ((myEnuemrator.MoveNext()) && (myEnuemrator.Current != null))  
                Console.WriteLine("[{0}] {1}", i++, myEnuemrator.Current.Name);  
        }  
    }  
}  
Imports System  
Imports System.Collections.Generic  
Imports System.Text  
Imports Microsoft.SqlServer.Dts.Runtime  

Namespace TaskInfos_Item  
    Class Program  
        Shared  Sub Main(ByVal args() As String)  
            Dim app As Application =  New Application()   
            Dim pInfos As PipelineComponentInfos =  app.PipelineComponentInfos   

            'Create the Enumerator.  
            Dim myEnumeratorAs PipelineComponentInfoEnumerator =  pInfos.GetEnumerator()   
            Console.WriteLine("The collection contains the following values:")  
            Dim i As Integer =  0   
            While (myEnuemrator.MoveNext()) &&(myEnuemrator.Current <> Nothing)  
            Console.WriteLine("[{0}] {1}",i = Console.WriteLine("[{0}] {1}",i + 1  
            End While  
        End Sub  
    End Class  
End Namespace  

Пример вывода:

Коллекция содержит следующие значения:

[0] Слияние

[1] Слияние Объединение

[2] Поиск

[3] Аудит

[4] Выборка рядов

[5] Обработка размерностей

[6] Терминовая экстракция

[7] Обучение моделям анализа данных

[8] Исходный код OLE DB

[9] Карта персонажей

[10] Нечеткая группировка

Комментарии

После создания переписчика или после вызова Reset метода MoveNext необходимо вызвать метод, чтобы перевести переписчик к первому элементу коллекции до того, как переписчик сможет прочитать значение Current свойства; в противном случае Current он не определен, и создаётся исключение.

Current также вызывает исключение, если последний вызов MoveNext возвращаемого falseобъекта, указывающий конец коллекции.

Current не перемещает позицию перечислителя и последовательные вызовы для Current возврата одного и того же объекта до MoveNext вызова или Reset вызова.

Перечислитель остается допустимым, пока коллекция остается неизменной. Если в коллекцию вносятся изменения, такие как добавление, изменение или удаление элементов, переписчик считается недействительным и становится невосстановимым; Таким образом, следующий вызов в MoveNext или Reset вызывает InvalidOperationException. Однако, если коллекция изменяется между вызовами MoveNext и Current, Current возвращает элемент, на который она настроена, даже если переписчик был аналирован.

Применяется к