Partilhar via


Método ElementWalker.ShouldVisitLinkAgain

True se o link foi visitado antes do currentElement (um dos seus roleplayers) foi visitada.

Namespace:  Microsoft.VisualStudio.Modeling
Assembly:  Microsoft.VisualStudio.Modeling.Sdk.11.0 (em Microsoft.VisualStudio.Modeling.Sdk.11.0.dll)

Sintaxe

'Declaração
Protected Function ShouldVisitLinkAgain ( _
    link As ElementLink, _
    currentElement As ModelElement _
) As Boolean
protected bool ShouldVisitLinkAgain(
    ElementLink link,
    ModelElement currentElement
)

Parâmetros

Valor de retorno

Tipo: System.Boolean

Comentários

Ao analisar os elementos relacionados da currentElement a determinado, se encontrarmos um link que tenha sido enfileirados por visitar, essa função informará se ele precisa ser visitado novamente.Isso é se o link tem foi visitado antes que o currentElement (um dos seus roleplayers) foi visitada.Para walkers de fechamento, podemos garantir que o link será visitado somente depois que o roleplayers são inspecionados (tecnicamente, podemos garantir que o InternalElementList conterá o link após a roleplayers).Considere este cenário: temos um elemento que é um roleplayer para 2 relações AHasBs e CHasAs.Durante a passagem de fechamento, A primeiro for atingida de B, por meio de AHasBs.No entanto, ele não tem prop-delete, para que ele não é visitado, mas o AHasBs é visitado.Posteriormente no percurso, A for atingida de c via CHasAs.Desta vez, A é visitada porque ela tem prop-delete.Agora, obtemos um caso onde o AHasBs foi visitado antes de um dos seus roleplayers (A) foi visitado.Para corrigir isso, se o walkers achar que um link foi visitado (ou em vez disso, enfileirado para visitar), ele deve verificar se ele deve ser visitado novamente (Verifique se ele já foi visitado antes de currentElement).Em caso afirmativo, ele deve remover o link a InternalElementList usando os métodos MarkForRemovalFromInternalElementList e RemoveMarkedElements e adicioná-la à fila para ser visitado novamente.

Segurança do .NET Framework

Consulte também

Referência

ElementWalker Classe

Namespace Microsoft.VisualStudio.Modeling