.net 코어에서 종속성 삽입을 사용하는 경우 모든 생성자 매개 변수가 DI에 의해 제공되어야한다는 것은 사실입니까?. 생성자에 매개 변수가있는 코어 종속성 주입
는의가 있다고 가정 해 봅시다 : DI 및 클라이언트가 제공 한 값이 같은 생성자를 유지하는
public Person CreateClient()
{
string phone = "12345678";
return new Person(phoneNumber: phone);
}
public class Person
{
private readonly ISomeService _service;
private readonly string _phoneNumber;
public Person (ISomeService service, string phoneNumber)
{
_service = service;
_phoneNumber = phoneNumber;
}
public string PhoneNumber {get { return _phoneNumber; } }
public string Gender {get { return _service.GetGenderFromDb(); } }
}
public interface ISomeService
{
String GetGenderFromDb();
}
public class FooService : ISomeService
{
public String GetGenderFromDb() { return "Male"; }
}
이 가능합니까?
시작시 이러한 서비스를 등록하는 방법은 무엇입니까? – Ahmar
@Ahmar 정상적인 등록 services.AddTransient(); –
Ok DI는 해당 레지스터에 등록 된 종속성 만 해결합니다. 다른 매개 변수가 해결되지 않았습니다. – Ahmar