2
델파이 팩토리를 사용하여 오토 팩의 데코레이터를 사용하려고하는데 매개 변수를 해결할 수없는 것 같습니다.오토 팩 데코레이터 + 델리게이트 팩토리
public interface IFoo
{ }
public class Foo : IFoo
{
public Foo(string bar)
{ ... }
}
public class DecoratedFoo : IFoo
{
public DecoratedFoo(IFoo decorated)
{ ... }
}
내가 지금 같은 서비스에 주입하고자하는
:
public SomeService(Func<string, IFoo> factory)
{
// I would expect IFoo to be a DecoratedFoo here
IFoo foo = factory("hello");
}
내가 등록한 부품과 같이 :
builder.RegisterType<Foo>()
.Named<IFoo>("foo")
.UsingConstructor(typeof(string));
builder.RegisterDecorator<IFoo>(
(ctx, inner) => new DecoratedFoo(inner),
fromKey: "foo");
를 내가 내 매개 변수의 막대를 해결할 수 없다는 오류가 . 이것은 단순한 예제이지만 bar의 값이 무엇인지 알 수 없으므로 (따라서 공장을 사용함).
내가하는 일을 수행 할 방법이 있습니까?
오픈 이슈를 알려 주셔서 감사합니다. – Dismissile