private SqlColumn RunDelegate(ChooseColumnFunc sqlColumn, string argumentName = null) { return(sqlColumn?.Invoke(t1, t2, t3, t4) ?? throw new ArgumentException(argumentName ?? nameof(sqlColumn))); }
public SqlSelectBuilder <T1, T2, T3, T4> OrderBy(ChooseColumnFunc sqlColumn, OrderDirection direction) => base.OrderBy(RunDelegate(sqlColumn), direction);