Compartilhar via


Model3DCollection.GetEnumerator Método

Definição

Retorna um enumerador que pode iterar pela coleção.

public:
 System::Windows::Media::Media3D::Model3DCollection::Enumerator GetEnumerator();
public System.Windows.Media.Media3D.Model3DCollection.Enumerator GetEnumerator ();
member this.GetEnumerator : unit -> System.Windows.Media.Media3D.Model3DCollection.Enumerator
Public Function GetEnumerator () As Model3DCollection.Enumerator

Retornos

Model3DCollection.Enumerator

Um enumerador que pode iterar pela coleção.

Comentários

Os enumeradores só permitem a leitura dos dados na coleção. Os enumeradores não podem ser usados para modificar a coleção subjacente.

Inicialmente, o enumerador é posicionado antes do primeiro item da coleção. Nessa posição, a chamada Current gera uma exceção. Portanto, você deve chamar MoveNext para avançar o enumerador para o primeiro item da coleção antes de ler o valor de Current.

Current retorna o mesmo objeto até MoveNext ou Reset é chamado. MoveNext define Current como o próximo item.

Depois que o final da coleção é passado, o enumerador é posicionado após o último item da coleção e chamar MoveNext retorna false. Se a última chamada para MoveNext tiver retornado false, chamar Current gerará uma exceção. Para definir Current como o primeiro item da coleção novamente, você pode chamar Redefinir seguido por MoveNext.

Um enumerador permanece válido desde que a coleção permaneça inalterada. Se forem feitas alterações na coleção, como adicionar, modificar ou excluir itens, o enumerador será invalidado irrecuperavelmente e a próxima chamada para MoveNext ou Reset gerará uma InvalidOperationException. Se a coleção for modificada entre MoveNext e Current, Current retornará o item para o qual está definido, mesmo que o enumerador já esteja invalidado.

O enumerador não tem acesso exclusivo à coleção; por isso, a enumeração por meio de uma coleção não é um procedimento thread-safe intrínseco. Mesmo quando uma coleção é sincronizada, outros threads ainda podem modificar a coleção, o que faz com que o enumerador lance uma exceção. Para garantir thread-safe durante a enumeração, é possível bloquear a coleção durante toda a enumeração ou verificar as exceções resultantes das alterações feitas por outros threads.

Aplica-se a