An ability to arbitrarily handle parameters of a specific type (or it's descendants) on service level could be nice to have.
Proposed syntax ideas:
serviceBuilder.WithParameter<Fruit>((Fruit value, string name) => new QueryString()); // default behavior for all Fruits
serviceBuilder.WithParameter<Apple>((Apple value, string name) => new QueryString()); // overrides Fruit
Sidenote: In order to maintain an ability for IFluxServiceBuilder to have it's own configuration methods, which should not be available to IFluxSetBuilder, these interfaces should be split in a way that allows IFluxSetBuilder to inherit some of the IFluxServiceBuilder's configuration extensions without inheriting service-specific ones. An example of how this could be achieved is shown in IFluxServiceProtocolConfigurator.
An ability to arbitrarily handle parameters of a specific type (or it's descendants) on service level could be nice to have.
Proposed syntax ideas: