I would go with properties instead of ctor args and take advantage of 3.0s instantiators. This way you don't need builder objects.
Register(new InLineJoinOperation { JoinType = JoinType.Inner LeftOperation = ThisOp(), LeftColumnsToJoinOn = new[]{"column1"}, RightOperation = ThisOp(), RightColumnsToJoinOn = new[]{"column1"}, Action = (left, right) => {left} }); On Dec 22, 3:29 pm, Gauthier Segay <gauthier.se...@gmail.com> wrote: > Hi, > > I started to use Rhino ETL framework and found useful to be able to > define operations inline in my processes, what I mean is that I don't > have to define a class for each typical operation (like join, > aggregation, filtering, inline sql output, etc.). > > I intend to add those inline operation to the framework itself because > I think it would be useful to other people as well, I started with > InlineJoinOperation that you can look at here: > > https://github.com/smoothdeveloper/rhino-etl/blob/master/Rhino.Etl.Co... > > so to do a plain join operation I can now register something like > this: > > var ensureMergerReturnsNewRow = true; > new InlineJoinOperation( > columnsToJoinOn, > columnsToJoinOn, > JoinType.Inner, > (left, row) => { // return join result; }, > leftoperation, > rightoperation, > ensureMergerReturnsNewRow > ); > > instead of having to define a specific class > > Anybody think it's a good thing to have those baked in the framework? > Do you have any feedback on what is shown in this first class? > > The icing on the cake for this would be to have fluent operation > builder to encapsulate the bulky constructors, for this I'm looking > for syntax ideas. > > Thanks for your feedback -- You received this message because you are subscribed to the Google Groups "Rhino Tools Dev" group. To post to this group, send email to rhino-tools-...@googlegroups.com. To unsubscribe from this group, send email to rhino-tools-dev+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/rhino-tools-dev?hl=en.