Classe CachedDataHostItemEnumerator
Itera por meio de um CachedDataHostItemCollection.
Hierarquia de herança
System.Object
Microsoft.VisualStudio.Tools.Applications.CachedDataHostItemEnumerator
Namespace: Microsoft.VisualStudio.Tools.Applications
Assembly: Microsoft.VisualStudio.Tools.Applications.ServerDocument (em Microsoft.VisualStudio.Tools.Applications.ServerDocument.dll)
Sintaxe
'Declaração
<PermissionSetAttribute(SecurityAction.Demand, Name := "FullTrust")> _
Public NotInheritable Class CachedDataHostItemEnumerator _
Implements IEnumerator(Of CachedDataHostItem), IDisposable, _
IEnumerator
[PermissionSetAttribute(SecurityAction.Demand, Name = "FullTrust")]
public sealed class CachedDataHostItemEnumerator : IEnumerator<CachedDataHostItem>,
IDisposable, IEnumerator
O tipo CachedDataHostItemEnumerator expõe os membros a seguir.
Propriedades
Nome | Descrição | |
---|---|---|
Current | Obtém o CachedDataHostItem na posição atual do enumerador. |
Início
Métodos
Nome | Descrição | |
---|---|---|
Equals | Determina se o especificado Object é igual a atual Object. (Herdado de Object.) | |
Finalize | Permite que um objeto tentar liberar recursos e executar outras operações de limpeza antes que ele é recuperado pela coleta de lixo. (Herdado de Object.) | |
GetHashCode | Serves as a hash function for a particular type. (Herdado de Object.) | |
GetType | Obtém o Type da instância atual. (Herdado de Object.) | |
MemberwiseClone | Cria uma cópia superficial do atual Object. (Herdado de Object.) | |
MoveNext | Avança o enumerador para o próximo CachedDataHostItem na CachedDataHostItemCollection. | |
Reset | Define o enumerador para sua posição inicial, que é antes do primeiro CachedDataHostItem na coleção. | |
ToString | Retorna um string que representa o objeto atual. (Herdado de Object.) |
Início
Implementações explícitas da interface
Nome | Descrição | |
---|---|---|
IEnumerator.Current | Para obter uma descrição desse membro, consulte Current. | |
IDisposable.Dispose | Libera todos os recursos usados pela CachedDataHostItemEnumerator. |
Início
Comentários
Visual Basic e C# cada conter uma instrução que oculta a complexidade dos enumeradores (foreach em C# e For Each em Visual Basic). Use a instrução apropriada para o idioma que você estiver usando, em vez de manipular diretamente o enumerador.
Enumeradores podem ser usados para ler os dados na coleção, mas eles não podem ser usados para modificar a coleção subjacente.
Initially, the enumerator is positioned before the first element in the collection. O Reset método também traz o enumerador voltar para essa posição. Nesta posição, definindo a Current propriedade lança uma exceção. Portanto, você deve chamar o MoveNext método para avançar o enumerador para o primeiro elemento da coleção antes de ler o valor de Current.
CurrentRetorna o mesmo objeto até MoveNext ou Reset é chamado. MoveNextDefine Current para o próximo elemento.
Se MoveNext passa o final da coleção, o enumerador está posicionado após o último elemento na coleção e MoveNext retorna false. Quando o enumerador está nessa posição, chamadas subseqüentes para MoveNext também retornar false. Se a última chamada para MoveNext retornou false, chamando Current lança uma exceção. Para definir Current para o primeiro elemento da coleção novamente, você pode chamar Reset seguido de MoveNext.
An enumerator remains valid as long as the collection remains unchanged. Se forem feitas alterações da coleção, como adicionar, modificar, ou excluir elementos, o enumerador é irrecoverably invalidado e a próxima chamada para MoveNext ou Reset lança um InvalidOperationException. Se a coleção é modificada entre MoveNext e Current, Current retorna o elemento que ele está definido, mesmo se o enumerador já é invalidado.
O enumerador não tem acesso exclusivo à coleção; Portanto, enumerando através de uma coleção intrinsecamente não é um procedimento de thread-safe. Even when a collection is synchronized, other threads can still modify the collection, which causes the enumerator to throw an exception. To guarantee thread safety during enumeration, you can either lock the collection during the entire enumeration or catch the exceptions resulting from changes made by other threads.
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.