CachedDataItemEnumerator (Clase)
Recorre en iteración una CachedDataItemCollection.
Jerarquía de herencia
System.Object
Microsoft.VisualStudio.Tools.Applications.CachedDataItemEnumerator
Espacio de nombres: Microsoft.VisualStudio.Tools.Applications
Ensamblado: Microsoft.VisualStudio.Tools.Applications.ServerDocument (en Microsoft.VisualStudio.Tools.Applications.ServerDocument.dll)
Sintaxis
'Declaración
<PermissionSetAttribute(SecurityAction.Demand, Name := "FullTrust")> _
Public NotInheritable Class CachedDataItemEnumerator _
Implements IEnumerator(Of CachedDataItem), IDisposable, _
IEnumerator
[PermissionSetAttribute(SecurityAction.Demand, Name = "FullTrust")]
public sealed class CachedDataItemEnumerator : IEnumerator<CachedDataItem>,
IDisposable, IEnumerator
El tipo CachedDataItemEnumerator expone los siguientes miembros.
Propiedades
Nombre | Descripción | |
---|---|---|
Current | Obtiene CachedDataItem en la posición actual del enumerador. |
Arriba
Métodos
Nombre | Descripción | |
---|---|---|
Equals | Determina si el objeto Object especificado es igual al objeto Object actual. (Se hereda de Object). | |
Finalize | Permite que un objeto intente liberar recursos y realizar otras operaciones de limpieza antes de ser reclamado por la recolección de elementos no utilizados. (Se hereda de Object). | |
GetHashCode | Actúa como función hash para un tipo concreto. (Se hereda de Object). | |
GetType | Obtiene el objeto Type de la instancia actual. (Se hereda de Object). | |
MemberwiseClone | Crea una copia superficial del objeto Object actual. (Se hereda de Object). | |
MoveNext | Desplaza el enumerador al siguiente CachedDataItem de la CachedDataItemCollection. | |
Reset | Establece el enumerador en su posición inicial, que es delante del primer CachedDataItem de la colección. | |
ToString | Devuelve una cadena que representa el objeto actual. (Se hereda de Object). |
Arriba
Implementaciones explícitas de interfaces
Nombre | Descripción | |
---|---|---|
IEnumerator.Current | Para obtener una descripción de este miembro, vea Current. | |
IDisposable.Dispose | Libera todos los recursos utilizados por el objeto CachedDataItemEnumerator. |
Arriba
Comentarios
Tanto Visual Basic como C# contienen una instrucción que oculta la complejidad de los enumeradores (foreach en C# y For Each en Visual Basic). Use la instrucción adecuada para el lenguaje que utilice, en lugar de manipular directamente el enumerador.
Los enumeradores se pueden utilizar para leer los datos de la colección, pero no para modificar la colección subyacente.
Inicialmente, el enumerador se coloca antes del primer elemento de la colección. El método Reset también devuelve el enumerador a esta posición. En ella, si se establece la propiedad Current, se provoca una excepción. Por lo tanto, se debe llamar al método MoveNext para desplazar el enumerador hasta el primer elemento de la colección antes de leer el valor de Current.
Current devuelve el mismo objeto hasta que se llama a MoveNext o a Reset. MoveNext establece Current en el elemento siguiente.
Si MoveNext pasa el final de la colección, el enumerador se coloca detrás del último elemento de la colección y MoveNext devuelve false. Cuando el enumerador está en esa posición, las llamadas posteriores a MoveNext también devuelven false. Si la última llamada al método MoveNext ha devuelto false y se realiza una llamada a la propiedad Current, se produce una excepción. Para volver a establecer el valor de Current en el primer elemento de la colección, se puede llamar primero al método Reset y después al método MoveNext.
Un enumerador sigue siendo válido mientras la colección no cambie. Si se realizan cambios en la colección (como agregar, modificar o eliminar elementos), el enumerador queda invalidado de forma definitiva y la siguiente llamada a MoveNext o a Reset produce una excepción InvalidOperationException. Si la colección se modifica entre MoveNext y Current, Current devuelve el elemento en el que está establecido, aunque el enumerador ya haya quedado invalidado.
El enumerador no tiene acceso exclusivo a la colección; por lo tanto, la enumeración a través de una colección es un procedimiento que, en esencia, no es seguro para la ejecución de subprocesos. Incluso cuando una colección está sincronizada, otros subprocesos todavía pueden modificarla, lo que hace que el enumerador produzca una excepción. Para garantizar la seguridad de los subprocesos durante la enumeración, es posible bloquear la colección durante toda la enumeración o detectar las excepciones resultantes de los cambios realizados por otros subprocesos.
Seguridad para subprocesos
Todos los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.
Vea también
Referencia
Microsoft.VisualStudio.Tools.Applications (Espacio de nombres)