여러 생성자가있는 클래스가있는 경우 - 사용할 생성자를 결정할 수있는 방법은 무엇입니까?Unity.Resolve는 사용할 생성자를 어떻게 알 수 있습니까?
다음 예제 클래스를 고려하십시오
public class Foo
{
public Foo() { }
public Foo(IBar bar)
{
Bar = bar;
}
public Foo(string name, IBar bar)
{
Bar = bar;
Name = name;
}
public IBar Bar { get; set; }
public string Name { get; set; }
}
내가 어떻게 사용할 생성자 알고 해결할 해결을 사용하여 Foo 타입의 객체를 만들려면
? 어떻게 올바른 것을 사용한다고 말할 수 있습니까? IBar가 등록 된 컨테이너가 있다고 가정 해 봅시다. IBar를 사용하는 생성자를 선호해야한다는 것을 이해합니까? 그리고 문자열을 지정하면(string, IBar)
생성자가 사용됩니까?
Foo foo = unityContainer.Resolve<Foo>();
그리고 클래스는 단지 하나의 생성자가 있다면 아마 쉬울 것이라는 사실을 무시하세요
... 대상 클래스가 하나 이상의 생성자를 포함
좋아요. 감사..! – stiank81
정확히 내가 무엇을 찾고 있었습니까! 그냥 [InjectionConstructor]와 함께 사용하고자하는 생성자를 꾸미십시오. –
주말을 절약 할 수있는 대답입니다. 잘 정의 된. –