ElementWalker.ShouldVisitLinkAgain(ElementLink, ModelElement) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Wenn wir bei der Betrachtung der zugehörigen Elemente des angegebenen currentelement-Elements einen Link finden, der zum Besuch in die Warteschlange eingereiht wurde, werden Sie von dieser Funktion informiert, ob Sie erneut besucht werden muss. Dies ist der, wenn der Link aufgerufen wurde, bevor currentelement (einer seiner Roleplayers) besucht wurde.
Bei Abschluss Spaziergängern garantieren wir, dass der Link erst nach dem Besuch von Roleplayers besucht wird (technisch gesehen garantieren wir, dass internalelementlist den Link nach den Roleplayers enthält). Stellen Sie sich dieses Szenario vor: Wir haben Element a, das ein das RolePlayer für zwei Beziehungen von ahassb und chasas ist. Während der Closure-Durchquerung wird ein zuerst von B bis ahasbs adressiert. Es ist jedoch keine Prop-DELETE-Eigenschaft vorhanden, daher wird es nicht besucht, aber die ahassb wird besucht. Später in der Traversierung wird eine von C über chasas adressiert. Dieses Mal wird eine besucht, da Sie über "prop-Delete" verfügt. Nun erhalten Sie einen Fall, in dem ahassb besucht wurde, bevor einer seiner Roleplayers (a) besucht wurde. Um dieses Problem zu beheben: Wenn die Wanderer feststellen, dass ein Link besucht wurde (oder Sie in die Warteschlange eingereiht wurde), sollte überprüft werden, ob Sie erneut besucht werden soll (überprüfen Sie, ob Sie bereits vor currentelement besucht wurde). Wenn dies der Fall ist, sollte der Link aus der internalelementlist mithilfe der Methoden markforremovalfrominternalelementlist und removemarkedelements entfernt und der Warteschlange hinzugefügt werden, um erneut zu besuchen.
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
Parameter
- link
- ElementLink
Der Link, der für den Besuch bereits in die Warteschlange eingereiht wurde.
- currentElement
- ModelElement
Das aktuelle Element, dessen verwandte Elemente wir besuchen.