ConnectionInfoEnumerator.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 de la colección.
public:
property Microsoft::SqlServer::Dts::Runtime::ConnectionInfo ^ Current { Microsoft::SqlServer::Dts::Runtime::ConnectionInfo ^ get(); };
public Microsoft.SqlServer.Dts.Runtime.ConnectionInfo Current { get; }
member this.Current : Microsoft.SqlServer.Dts.Runtime.ConnectionInfo
Public ReadOnly Property Current As ConnectionInfo
Valor de propiedad
Elemento actual de la colección.
Ejemplos
El siguiente ejemplo de código crea un enumerador y luego utiliza los Currentmétodos , MoveNext, y Reset para navegar por la colección.
using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.SqlServer.Dts.Runtime;
namespace ConnInfos_Current
{
class Program
{
static void Main(string[] args)
{
Application dtsApplication = new Application();
ConnectionInfos connectionInfos = dtsApplication.ConnectionInfos;
//Create the Enumerator.
ConnectionInfoEnumerator ConnInfoEnum = connectionInfos.GetEnumerator();
Console.WriteLine("The collection contains the following values:");
int i = 0;
while ((ConnInfoEnum.MoveNext()) && (ConnInfoEnum.Current != null))
Console.WriteLine("[{0}] {1}", i++, ConnInfoEnum.Current.Name);
}
}
}
Imports System
Imports System.Collections.Generic
Imports System.Text
Imports Microsoft.SqlServer.Dts.Runtime
Namespace ConnInfos_Current
Class Program
Shared Sub Main(ByVal args() As String)
Dim dtsApplication As Application = New Application()
Dim connectionInfos As ConnectionInfos = dtsApplication.ConnectionInfos
'Create the Enumerator.
Dim ConnInfoEnum As ConnectionInfoEnumerator = connectionInfos.GetEnumerator()
Console.WriteLine("The collection contains the following values:")
Dim i As Integer = 0
While (ConnInfoEnum.MoveNext()) &&(ConnInfoEnum.Current <> Nothing)
Console.WriteLine("[{0}] {1}",i = Console.WriteLine("[{0}] {1}",i + 1
End While
End Sub
End Class
End Namespace
Salida de muestra:
The collection contains the following values:
[0] Connection Manager for Files
[1] Connection Manager for SQL Server Compact
[2] Connection Manager for Multiple Flat Files
Comentarios
Después de crear un enumerador, o tras una llamada al Reset método, este MoveNext debe ser llamado para avanzar el enumerador al primer elemento de la colección antes de leer el valor de la Current propiedad; de lo contrario, Current queda indefinido y lanza una excepción.
Currenttambién produce una excepción si se devuelve MoveNextla última llamada a false , que indica el final de la colección.
Current no mueve la posición del enumerador, y las llamadas consecutivas al Current devolven el mismo objeto hasta que se llama o MoveNextReset o .
Un enumerador sigue siendo válido siempre que la colección permanezca sin cambios. Si se realizan cambios en la colección, como añadir, modificar o eliminar elementos, el enumerador queda invalidado y se vuelve irrecuperable; por lo tanto, la siguiente llamada a MoveNext o Reset lanza un InvalidOperationException. Si la colección se modifica entre llamadas a MoveNext y Current, Current devuelve el elemento al que está asignada, incluso si el enumerador ha sido invalidado.