Quelqu'un peut-il m'aider avec ceci? J'essaie d'utiliser Unity IoC pour l'injection. Voici le code:Utilisation du conteneur Unity IoC
IUnityContainer container = new UnityContainer()
.RegisterType<IBaseModel, EmployeeModel>()
.RegisterType<IProxyObjectAdapter, EmployeeProxyObjectAdapter>()
.RegisterType<IAdventureWorksRepository<IProxyObjectAdapter>,AdventureWorksWCFRepository<IProxyObjectAdapter>>();
L'unité se plaint à cette dernière ligne. Voici le message d'erreur:
'AdventureWorksManagement.ServiceAgents.AdventureWorksWCFRepository' ne peut pas être utilisé comme paramètre de type 'TTo' dans le type générique ou méthode « Microsoft.Practices.Unity.UnityContainerExtensions.RegisterType (Microsoft.Practices .Unity.IUnityContainer, params Microsoft.Practices.Unity.InjectionMember []) '. Il n'y a pas de référence de conversion implicite de 'AdventureWorksManagement.ServiceAgents.AdventureWorksWCFRepository' à 'AdventureWorksManagement.ServiceAgents.IAdventureWorksRepository'. C: \ Mon développement \ Mon test sol \ MyTesting sol \ AdventureWorksManagement \ MODELVIEW \ EmployeeViewModel.cs 94 33 AdventureWorksManagement
est ici la définition de classe:
/// <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;
.....
conseils S'il vous plaît. dormantroot
chris: Par programme, voici ce que je fais: IAdventureWorksRepository serviceAgent = new AdventureWorksWCFRepository (new EmployeeProxyObjectAdapter()); Comment pourrais-je réaliser la même chose avec Unity? –
dormantroot