ElementWalker.ShouldVisitLinkAgain(ElementLink, ModelElement) 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.
Ao examinar os elementos relacionados do currentElement fornecido, se encontrarmos um link que foi enfileirado para ser visitado, essa função informará se ele precisa ser visitado novamente. Isso ocorrerá se o link tiver sido visitado antes que o currentElement (um de seus roleplayers) tenha sido visitado.
Para os apresentadores de fechamento, garantimos que o link será visitado somente depois que os roleplayers forem visitados (tecnicamente, garantimos que o InternalElementList conterá o link após o roleplayers). Considere este cenário: temos um elemento que é um roleplayer para 2 relações AHasBs e CHasAs. Durante o percurso de fechamento, A é uma primeira abordagem de B a AHasBs. No entanto, ele não tem prop-Delete, portanto ele não é visitado, mas o AHasBs é visitado. Posteriormente, na passagem, um é abordado de C por meio de CHasAs. Desta vez, um é visitado porque tem prop-Delete. Agora, obtemos um caso em que o AHasBs foi visitado antes que um de seus roleplayers (A) fosse visitado. Para corrigir isso, se os orientadores descobrirem que um link foi visitado (ou, em vez disso, enfileirado para a visita), ele deverá verificar se ele deve ser visitado novamente (verifique se já foi visitado antes de currentElement). Nesse caso, ele deve remover o link do InternalElementList usando os métodos MarkForRemovalFromInternalElementList e RemoveMarkedElements e adicioná-lo à fila para ser visitado novamente.
protected:
bool ShouldVisitLinkAgain(Microsoft::VisualStudio::Modeling::ElementLink ^ link, Microsoft::VisualStudio::Modeling::ModelElement ^ currentElement);
protected bool ShouldVisitLinkAgain (Microsoft.VisualStudio.Modeling.ElementLink link, Microsoft.VisualStudio.Modeling.ModelElement currentElement);
member this.ShouldVisitLinkAgain : Microsoft.VisualStudio.Modeling.ElementLink * Microsoft.VisualStudio.Modeling.ModelElement -> bool
Protected Function ShouldVisitLinkAgain (link As ElementLink, currentElement As ModelElement) As Boolean
Parâmetros
- link
- ElementLink
O link que foi encontrado já está enfileirado para ser visitado
- currentElement
- ModelElement
O elemento atual cujos elementos relacionados estamos visitando