protected override void Accept(INhQueryModelVisitor visitor, QueryModel queryModel, int index) { if (visitor is INhQueryModelVisitorExtended queryModelVisitorExtended) { queryModelVisitorExtended.VisitNhOuterJoinClause(this, queryModel, index); } else { visitor.VisitJoinClause(JoinClause, queryModel, index); } }
protected abstract void Accept(INhQueryModelVisitor visitor, QueryModel queryModel, int index);
protected override void Accept(INhQueryModelVisitor visitor, QueryModel queryModel, int index) { visitor.VisitNhHavingClause(this, queryModel, index); }
/// <summary> /// Accepts the specified visitor by calling its /// <see /// cref="M:Remotion.Linq.IQueryModelVisitor.VisitNhJoinClause(NHibernate.Linq.Clauses.NhJoinClause,Remotion.Linq.QueryModel,System.Int32)" /> /// method. /// </summary> /// <param name="visitor">The visitor to accept.</param> /// <param name="queryModel">The query model in whose context this clause is visited.</param> /// <param name="index"> /// The index of this clause in the <paramref name="queryModel" />'s /// <see cref="P:Remotion.Linq.QueryModel.BodyClauses" /> collection. /// </param> protected override void Accept(INhQueryModelVisitor visitor, QueryModel queryModel, int index) => visitor.VisitNhJoinClause(this, queryModel, index);