PipelineComponentInfoEnumerator.Current Propiedad
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Obtiene el elemento actual PipelineComponentInfo desde la colección.
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
Valor de propiedad
El elemento PipelineComponentInfo actual de la colección.
Ejemplos
En el ejemplo de código siguiente se crea un enumerador y, a continuación, se usan los Current métodos y MoveNext para navegar por la colección.
[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
Salida del ejemplo:
La colección contiene los siguientes valores:
[0] Combinar
[1] Combinación de mezcla
[2] Búsqueda
[3] Auditoría
[4] Muestreo de filas
[5] Procesamiento de dimensiones
[6] Extracción de términos
[7] Entrenamiento del modelo de minería de datos
[8] Origen OLE DB
[9] Mapa de caracteres
[10] Agrupación aproximada
Comentarios
Después de crear un enumerador o después de una llamada al Reset
método , MoveNext
se debe llamar al método para avanzar el enumerador al primer elemento de la colección antes de que el enumerador pueda leer el valor de la Current
propiedad; de lo contrario, Current
no está definido y se produce una excepción.
Current
también produce una excepción si se devuelve false
la última llamada a MoveNext
, que indica el final de la colección.
Current
no mueve la posición del enumerador y las llamadas consecutivas para Current
devolver el mismo objeto hasta que MoveNext
se llama a o Reset
.
Un enumerador sigue siendo válido mientras la colección permanezca inalterada. Si se realizan cambios en la colección, como agregar, modificar o eliminar elementos, el enumerador se invalida y se convierte en irrecuperable; por lo tanto, la siguiente llamada a MoveNext
o Reset
produce una InvalidOperationException
excepción . Sin embargo, si la colección se modifica entre llamadas a MoveNext
y Current
, Current
devuelve el elemento en el que está establecido, incluso si el enumerador se ha invalidado.