Partilhar via


CachedDataItemEnumerator Classe (sistema de 2007)

Itera por meio de um CachedDataItemCollection.

Namespace:  Microsoft.VisualStudio.Tools.Applications
Assembly:  Microsoft.VisualStudio.Tools.Applications.ServerDocument.v9.0 (em Microsoft.VisualStudio.Tools.Applications.ServerDocument.v9.0.dll)

Sintaxe

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

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

Comentários

Visual Basic e translation from VPE for Csharp contêm uma demonstrativo que oculta a complexidade dos enumeradores (foreach em translation from VPE for Csharp e For Each no Visual Basic). Use a demonstrativo apropriada para o linguagem que você estiver usando, em vez de manipular diretamente o enumerador.

Observação:

Essa classe pode ser usada somente com soluções para Microsoft Office palavra 2007 e Microsoft Office Excel 2007.Para acesso os dados armazenados em cache em soluções para palavra 2003 e Excel 2003, use o CachedDataHostItemEnumerator classe na Microsoft.VisualStudio.Tools.Applications.Runtime namespace do runtime do Visual Studio 2005 Tools for Microsoft Office Second Edition. Para obter mais informações, consulte Gerenciando documentos em um servidor usando a classe do ServerDocument.

Os enumeradores podem ser usados para ler os dados na coleção, mas não podem ser usadas para modificar a coleção subjacente.

Inicialmente, o enumerador está posicionado antes do primeiro elemento na coleção.The Reset método também traz o enumerador de volta para esta posição. Nesta posição, configurando o Current propriedade lança uma exceção. Portanto, você deve telefonar o MoveNext método para avançar o enumerador para o primeiro elemento da coleção antes de ler o valor de Current.

Current Retorna o mesmo objeto até um MoveNext ou Reset é chamado. MoveNext Define Current para o próximo elemento.

If MoveNext passa o participante da coleção, o enumerador está posicionado após o último elemento na coleção e MoveNext Retorna false. Quando o enumerador está nesta posição, as chamadas subseqüentes a MoveNext também retornará false. Se a última telefonar para MoveNext retornado false, chamando Current lança uma exceção. Para conjunto Current para o primeiro elemento da coleção novamente, você pode chamar Reset seguido por MoveNext.

Um enumerador permanece válido, desde que a coleção permaneça inalterada.Se forem feitas alterações da coleção, sistema autônomo adicionar, modificar, ou excluindo elementos, o enumerador é invalidado irrecoverably e o próximo telefonar para MoveNext ou Reset lança um InvalidOperationException. Se a coleção for modificada entre MoveNext e Current, Current Retorna o elemento que ele está definido, mesmo que o enumerador já é invalidado.

O enumerador não tem acesso exclusivo à coleção; portanto, enumerar através de uma coleção é intrinsecamente não um procedimento de thread-safe.Mesmo quando uma coleção é sincronizada, outros segmentos ainda podem modificar a coleção, que faz o enumerador para acionar uma exceção.Para garantir segurança do segmento durante enumeração, pode ser bloquear a coleção durante a enumeração inteira ou capturar as exceções resultantes de alterações feitas por outros segmentos.

Hierarquia de herança

System.Object
  Microsoft.VisualStudio.Tools.Applications.CachedDataItemEnumerator

Acesso thread-safe

Quaisquer membros static (Shared no Visual Basic) públicos deste tipo são thread-safe. Não há garantia de que qualquer membro de instância seja thread-safe.

Consulte também

Referência

Membros CachedDataItemEnumerator

Namespace Microsoft.VisualStudio.Tools.Applications