在.net核心,如果我使用依賴注入是真的,所有的構造參數必須由DI提供?.net核心依賴注入與構造函數參數
比方說:
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"; }
}
這是可能的DI,並通過客戶端提供的價值留在同一個構造函數?
如何在啓動時註冊這些服務? – Ahmar
@Ahmar只是正常註冊 services.AddTransient(); –
好的DI只解決依賴註冊的問題。其他參數未解決。 – Ahmar