Transform3DCollection.GetEnumerator Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Retorna um enumerador que pode iterar por meio da coleção.
public:
System::Windows::Media::Media3D::Transform3DCollection::Enumerator GetEnumerator();
public System.Windows.Media.Media3D.Transform3DCollection.Enumerator GetEnumerator();
member this.GetEnumerator : unit -> System.Windows.Media.Media3D.Transform3DCollection.Enumerator
Public Function GetEnumerator () As Transform3DCollection.Enumerator
Retornos
Um enumerador que pode iterar a coleção.
Comentários
Os enumeradores só permitem ler os dados na coleção. Enumeradores não podem ser usados para modificar a coleção subjacente.
Inicialmente, o enumerador é posicionado antes do primeiro item da coleção. também traz o enumerador de volta para essa posiçã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 para o próximo item.
Depois que o final da coleção é passado, o enumerador é posicionado após o último item na coleção e chamar MoveNext retorna false. Se a última chamada para MoveNext retornar 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 enquanto a coleção permanecer 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á invalidOperationException. Se a coleção for modificada entre MoveNext e Current, Current retornará o item para o qual ela está definida, mesmo que o enumerador já esteja invalidado.
O enumerador não tem acesso exclusivo à coleção; portanto, enumerar por meio de uma coleção não é intrinsecamente um procedimento thread-safe. Mesmo quando uma coleção é sincronizada, outros threads ainda podem modificar a coleção, o que faz com que o enumerador gere uma exceção. Para garantir a segurança do thread durante a enumeração, você pode bloquear a coleção durante toda a enumeração ou capturar as exceções resultantes de alterações feitas por outros threads.