다른 사람이 도와 줄 수 있습니까? 나는 주사에 Unity IoC를 사용하려고합니다. 코드는 다음과 같습니다.Unity IoC 컨테이너 사용
IUnityContainer container = new UnityContainer()
.RegisterType<IBaseModel, EmployeeModel>()
.RegisterType<IProxyObjectAdapter, EmployeeProxyObjectAdapter>()
.RegisterType<IAdventureWorksRepository<IProxyObjectAdapter>,AdventureWorksWCFRepository<IProxyObjectAdapter>>();
유니티는 마지막 줄에서 불평하고 있습니다.
'AdventureWorksManagement.ServiceAgents.AdventureWorksWCFRepository' 제네릭 형식 또는 메서드의 형식 매개 변수 'TTO' 으로 사용할 수 없습니다 'Microsoft.Practices.Unity.UnityContainerExtensions.RegisterType (Microsoft.Practices 다음은 오류 메시지입니다 .Unity.IUnityContainer, 매개 변수 Microsoft.Practices.Unity.InjectionMember []) '. 는 'AdventureWorksManagement.ServiceAgents.AdventureWorksWCFRepository' 에 'AdventureWorksManagement.ServiceAgents.IAdventureWorksRepository'에서 암시 참조 변환이 없습니다. C :
/// <summary> /// Repository for WCF agents /// </summary> public class AdventureWorksWCFRepository<T> : IAdventureWorksRepository<IBaseModel> where T: IProxyObjectAdapter { /// <summary> /// WCF service end /// </summary> private readonly AdvWorksManagementService.EmployeeServiceContractClient servicePoint; /// <summary> /// Adapter used to translate WCF proxy objects to domain objects /// </summary> private T proxyobjectAdapter; .....
하십시오 조언 : 내 개발 \ 내 테스트 그라운드 \ MyTesting 그라운드 \ AdventureWorksManagement \ 모델 뷰 \ EmployeeViewModel.cs (94) (33) AdventureWorksManagement
여기 클래스 정의의 \. dormantroot
chris : 프로그래밍 방식으로이 작업을 수행합니다. IAdventureWorksRepository serviceAgent = new AdventureWorksWCFRepository (new EmployeeProxyObjectAdapter()); Unity와 어떻게 똑같이 할 수 있습니까? –
dormantroot