Compartir a través de


CachedDataHostItemEnumerator (Clase) (2007 System)

Actualización: noviembre 2007

Recorre en iteración una CachedDataHostItemCollection.

Espacio de nombres:  Microsoft.VisualStudio.Tools.Applications
Ensamblado:  Microsoft.VisualStudio.Tools.Applications.ServerDocument.v9.0 (en Microsoft.VisualStudio.Tools.Applications.ServerDocument.v9.0.dll)

Sintaxis

<PermissionSetAttribute(SecurityAction.Demand, Name := "FullTrust")> _
Public NotInheritable Class CachedDataHostItemEnumerator _
    Implements IEnumerator(Of CachedDataHostItem), IDisposable,  _
    IEnumerator

Dim instance As CachedDataHostItemEnumerator
[PermissionSetAttribute(SecurityAction.Demand, Name = "FullTrust")]
public sealed class CachedDataHostItemEnumerator : IEnumerator<CachedDataHostItem>, 
    IDisposable, IEnumerator

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.

Nota:

Esta clase sólo se puede utilizar con soluciones para Microsoft Office Word 2007 y Microsoft Office Excel 2007. Para tener acceso a los datos almacenados en memoria caché en soluciones para Word 2003 y Excel 2003, utilice la clase CachedDataHostItemEnumerator en el espacio de nombres Microsoft.VisualStudio.Tools.Applications.Runtime en Visual Studio 2005 Tools para Office Second Edition runtime. Para obtener más información, consulte Administrar documentos en un servidor mediante la clase ServerDocument.

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 delante 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 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 llame a MoveNext o a Reset. MoveNext establece Current en el siguiente elemento.

Si MoveNext sobrepasa el final de la colección, el enumerador quedará detrás del último elemento de la colección y MoveNext devolverá false. Mientras el enumerador permanezca en esta posición, las llamadas a MoveNext seguirán devolviendo false. Si la última llamada a MoveNext devolvió el valor false, al llamar a Current se provoca una excepción. Para volver a establecer Current en el primer elemento de la colección, se puede llamar a Reset y después a MoveNext.

Un enumerador es válido mientras la colección permanece inalterada. 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 provoca una excepción InvalidOperationException. Si la colección se modifica entre MoveNext y Current, Current devuelve el elemento en que está establecida, aunque el enumerador ya esté invalidado.

La enumeración en una colección no es un procedimiento seguro para subprocesos ya que el enumerador carece de acceso exclusivo a la colección. Aunque una colección esté sincronizada, otros subprocesos aún pueden modificarla, lo que hace que el enumerador provoque una excepción. Para garantizar la seguridad de los subprocesos durante la enumeración, se puede bloquear la colección durante toda la enumeración o detectar las excepciones resultantes de los cambios realizados por otros subprocesos.

Jerarquía de herencia

System.Object
  Microsoft.VisualStudio.Tools.Applications.CachedDataHostItemEnumerator

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

CachedDataHostItemEnumerator (Miembros)

Microsoft.VisualStudio.Tools.Applications (Espacio de nombres)