Skip to content

Parameter Binding

Sometimes you have parameters that can not or should not be resolved by Ducktionbe resolved by Ducktion. For example scalar values, like integers can be resolved automatically.

Binding a specific parameter

When you register any service you can simply call the SetParameter method to bind a specific parameter to the container.

csharp
using TheRealIronDuck.Ducktion.Configurators;
using TheRealIronDuck.Ducktion.Enums;

public class MyMonoConfigurator : MonoDiConfigurator
{
        public void Register(DiContainer container)
        {
            container.Register<MyService>().SetParameter("logLevel", 3)
        }
}

INFO

When setting a specific parameter, it will always be used instead of auto resolving the parameter any other way.

Removing parameters

Of course you can also remove your custom set parameter. This can easly be done using the RemoveParameter method.

csharp
using TheRealIronDuck.Ducktion.Configurators;
using TheRealIronDuck.Ducktion.Enums;

public class MyMonoConfigurator : MonoDiConfigurator
{
        public void Register(DiContainer container)
        {
            // Let's assume MyService was already registered with a parameter `logLevel`
        
            container.Override<MyService>().RemoveParameter("logLevel");
        }
}

TIP

If you need even more control over the instantaion, you can also register a specific instance. See Binding specific instances.