/// <summary> /// Visits the children of a <see cref="PropertyOrphan"/>. /// </summary> /// <param name="orphan">The orphan to visit.</param> protected internal override void VisitProperty(PropertyOrphan orphan) => DefaultVisit(orphan);
/// <summary> /// Visits a single <see cref="PropertyOrphan"/>. /// </summary> /// <param name="orphan">The orphan to visit.</param> protected internal abstract void VisitProperty(PropertyOrphan orphan);
/// <summary> /// Visits a single <see cref="PropertyOrphan"/> 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 VisitProperty(PropertyOrphan orphan);
/// <summary> /// Visits the children of a <see cref="PropertyOrphan"/> 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 VisitProperty(PropertyOrphan orphan) { Debug.Assert(orphan.Children.Count == 0, "Trigger had a child. Need to implement WithChildren support for properties"); return(orphan); }