ElementWalker.ShouldVisitLinkAgain(ElementLink, ModelElement) Метод

Определение

При просмотре связанных элементов заданного Куррентелемент, если мы нашли ссылку, которая была поставлена в очередь для посещения, эта функция сообщит вам, нужно ли снова ее посетить. Это происходит, если ссылка была посещена до того, как была посещена Куррентелемент (одна из ее ролеплайерс).

Для последовательностей замыканий мы гарантируем, что ссылка будет посещена только после посещения ролеплайерс (технически, мы гарантируем, что Интерналелементлист будет содержать ссылку после ролеплайерс). Рассмотрим этот сценарий: у нас есть элемент A, который является RolePlayer для 2 отношений Ахасбс и Часас. Во время обхода замыкания объект сначала приближается к B через Ахасбс. Однако у него нет свойства Prop-DELETE, поэтому он не будет посещен, но Ахасбс будет посещен. В дальнейшем в процессе обхода, с помощью Часас будет подход. На этот раз будет посещен, так как у него есть Prop-DELETE. Теперь мы получаем случай, когда Ахасбс был посещен до того, как была посещена одна из ролеплайерс (A). Чтобы устранить эту проблему, если пошаговые руководства покажут, что ссылка была открыта (или была поставлена в очередь для посещения), она должна проверить, было ли оно Просмотрено повторно (проверьте, было ли оно уже посещено до Куррентелемент). В этом случае необходимо удалить ссылку из Интерналелементлист, используя методы Маркфорремовалфроминтерналелементлист и Ремовемаркеделементс, и добавить ее в очередь для повторного посещения.

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

Параметры

link
ElementLink

Ссылка, которая была найдена уже поставленной в очередь для посещения

currentElement
ModelElement

Текущий элемент, связанный с посещаемыми элементами

Возвращаемое значение

Boolean

Применяется к