Some apis like Ninject use fluent style apis, example:
Bind<ISomething>()
.To<Something>()
.WithConstructorArgument("arg1", "somevalue")
.OnActivation(x => x.DoSomething())
When I try format the code like this in F# the compiler complains at the whitespace between method calls.
Is it possible to put the method calls on seperate lines? I was thinking something like the pipelining operator |> but not exactly sure how in this case.
How should this be formatted in F#?
Are you sure this doesn’t work?
(note one space before the
.s)Yeah, it’s fine:
So long as you have some leading whitespace when you try to continue a single expression onto multiple lines, you’re ok.
(Note that pipelining in general won’t work unless you have APIs designed for it with curried method parameters.)