1
나는 개체 그래프를 해결하기 위해 단결함을 사용하고 있습니다.명명 된 매핑을 사용하는 Unity 해결 매개 변수
public interface ISessionManager
{
}
public class DefaultSessionManager : ISessionManager
{
}
public class OnCallSessionManager : ISessionManager
{
}
와 나는 개체 그래프의 상단에 생성자
public class CustomerService
{
public class CustomerService(ISessionManager sessionManager)
{
}
}
에 ISessionManager을 활용하는 서비스 클래스가 있습니다. viewmodel 클래스와 데이터 관리자 클래스가 있습니다.
public class ViewModel(CustomerService customerService)
{
}
public class DataManager(CustomerService customerService)
{
}
이제 다른 ISessionManager를 사용하여 ViewModel과 DataManager를 해결하고 싶습니다. ViewModel
클래스의 경우 DefaultSessionManager
및 OnCallSessionManager
을 DataManager
으로 입력하고 싶습니다. 내가 어떻게 할 수 있니?
미리 감사드립니다. 지옥 같은
var container = new UnityContainer();
container.RegisterType<ISessionManager, DefaultSessionManager>()
.RegisterType<ISessionManager, OnCallSessionManager>("oncall")
.RegisterType<CustomerService>()
.RegisterType<CustomerService>(
"oncall",
new InjectionConstructor(
new ResolvedParameter(
typeof(ISessionManager),
"oncall")))
.RegisterType<ViewModel>()
.RegisterType<DataManager>(
new InjectionConstructor(
new ResolvedParameter(
typeof(CustomerService),
"oncall")));
그것의 추악한하지만 트릭을 수행해야합니다 당신이 뭔가를 등록 할 수 있습니다 코드의 구성을 사용