1

Ich kann dies in Schloss Windsor tun:Ist es möglich, Parameter in geschützte Konstruktoren zu injizieren, die Unity verwenden?

public abstract class AbstractFactory 
{ 
    protected AbstractFactory(Foo constructorParm) 
    { 
     // Do something with parameter... 
    } 
} 

public class DescendentFactory : AbstractFactory 
{ 
    public DescendentFactory(Foo constructorParm) : base(constructorParm) 
    { 
    } 
} 

// The container is configured via XML, the service AbstractFactory and the 
// type DescendentFactory 
container.Resolve<AbstractFactory>("DescendentFactoryId", new { constructorParm = injectedValue }); 

Ist das möglich in Unity? Ich habe es versucht, aber es beschwert sich, dass es den Konstruktor nicht finden kann. Es scheint, ich kann nur über den Subtyp injizieren.

Antwort

2

Sie können nur über den Untertyp injizieren. Es benötigt einen öffentlichen Konstruktor.

Verwandte Themen