Compartilhar via


ControlCollectionEnumerator Classe (sistema de 2007)

Um enumerador que percorre o ControlCollection instância.

Namespace:  Microsoft.Office.Tools.Excel
Assembly:  Microsoft.Office.Tools.Excel.v9.0 (em Microsoft.Office.Tools.Excel.v9.0.dll)

Sintaxe

<PermissionSetAttribute(SecurityAction.Demand, Name := "FullTrust")> _
Public Class ControlCollectionEnumerator _
    Implements IEnumerator

Dim instance As ControlCollectionEnumerator
[PermissionSetAttribute(SecurityAction.Demand, Name = "FullTrust")]
public class ControlCollectionEnumerator : IEnumerator

Comentários

The foreach demonstrativo da (linguagem) translation from VPE for Csharpfor each no Visual Basic) oculta a complexidade dos enumeradores. Portanto, usando foreach é recomendado, em vez de manipular diretamente o enumerador.

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.Reset também oferece o enumerador de volta para esta posição. Nesta posição chamada Current lança uma exceção. Portanto, você deve telefonar MoveNext 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 FALSO. Quando o enumerador está nesta posição, as chamadas subseqüentes a MoveNext retornará false. Se a última telefonar para MoveNext retornou false de telefonar 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, enumerando através de um conjunto não é intrinsecamente um procedimento com segurança de segmento.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.Office.Tools.Excel.ControlCollectionEnumerator

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 ControlCollectionEnumerator

Namespace Microsoft.Office.Tools.Excel