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
- link
Tipo: Microsoft.VisualStudio.Modeling.ElementLink
O link que foi encontrado já ser enfileirado por visitar
- currentElement
Tipo: Microsoft.VisualStudio.Modeling.ModelElement
O elemento atual, cujos elementos relacionados está visitando
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
- Confiança total para o chamador imediato. O membro não pode ser usado por código parcialmente confiável. Para obter mais informações, consulte Usando bibliotecas de código parcialmente confiáveis.