/// <summary> /// When implemented in a derived class, joins the other row to the current row. /// </summary> /// <typeparam name="TOther"> /// The type of the other row's unique id. /// </typeparam> /// <param name="rowBuilder"> /// The row Builder. /// </param> /// <param name="other"> /// The other row. /// </param> /// <returns> /// The joined row, or null when the rows cannot be joined. /// </returns> protected abstract Row CombineFrom <TOther>(IRowBuilder rowBuilder, RowImplementation <TOther> other);
/// <summary> /// Joins the other row to the current row. /// </summary> /// <typeparam name="TOther"> /// The type of the other row's unique id. /// </typeparam> /// <param name="builder"> /// The builder. /// </param> /// <param name="other"> /// The other row. /// </param> /// <returns> /// The joined row, or null when the rows cannot be joined. /// </returns> protected override Row CombineFrom <TOther>(IRowBuilder builder, RowImplementation <TOther> other) { return(IdCombiner <T, TOther> .Combine(builder, this, other)); }
/// <summary> /// Joins the other row to the current row. /// </summary> /// <typeparam name="TOther"> /// The type of the other row's unique id. /// </typeparam> /// <param name="rowBuilder"> /// The row Builder. /// </param> /// <param name="other"> /// The other row. /// </param> /// <returns> /// The joined row, or null when the rows cannot be joined. /// </returns> Row IRowImplementation.CombineFrom <TOther>(IRowBuilder rowBuilder, RowImplementation <TOther> other) { return(this.CombineFrom(rowBuilder, other)); }