/// <summary> /// Visits the children of a <see cref="TriggerOrphan"/>. /// </summary> /// <param name="orphan">The orphan to visit.</param> protected internal override void VisitTrigger(TriggerOrphan orphan) => DefaultVisit(orphan);
/// <summary> /// Visits a single <see cref="TriggerOrphan"/>. /// </summary> /// <param name="orphan">The orphan to visit.</param> protected internal abstract void VisitTrigger(TriggerOrphan orphan);
/// <summary> /// Visits a single <see cref="TriggerOrphan"/> and produces a value of type <typeparamref name="TResult"/>. /// </summary> /// <param name="orphan">The orphan to visit.</param> /// <returns>The result of visitng the orphan.</returns> protected internal abstract TResult VisitTrigger(TriggerOrphan orphan);
/// <summary> /// Visits the children of a <see cref="TriggerOrphan"/> and replaces the orphan if any of its children are modified. /// </summary> /// <param name="orphan">The orphan to visit.</param> /// <returns>If any children were modified, a new orphan with the modified children. Otherwise, the original orphan.</returns> protected internal override PrtgOrphan VisitTrigger(TriggerOrphan orphan) { Debug.Assert(orphan.Children.Count == 0, "Trigger had a child. Need to implement WithChildren support for triggers"); return(orphan); }