Example #1
0
 public override object Resolve(Type t)
 {
     try
     {
         return(MyUnityContainer.Resolve(t));
     }
     catch (ResolutionFailedException ex)
     {
         throw new ResolutionFailedException($"Resolution for {t.FullName} failed", ex);
     }
 }
Example #2
0
 public override object Resolve(Type t)
 {
     if (!t.IsInterface)
     {
         throw new ResolutionFailedException($"Tried to resolve type {t.FullName}. This is not an interface which indicates a bug.");
     }
     try
     {
         return(MyUnityContainer.Resolve(t));
     }
     catch (Unity.Exceptions.ResolutionFailedException)
     {
         return(Substitute.For(new [] { t }, new object[0]));
     }
 }
Example #3
0
        public static void Initialize()
        {
            //系统内有且仅有一次,指定IOC容器
            MyUnityContainer myContainer = new MyUnityContainer();

            // 将基础结构层的类型与接口进行映射
            ContainerHelper.SetInstance(myContainer);
            IUnityContainer unityContainer = myContainer.UnityContainer;
            unityContainer.RegisterType<IEntityValidator, DataAnnotationsEntityValidator>();
            unityContainer.RegisterType<ITypeAdapter, AutomapperTypeAdapter>();
            unityContainer.RegisterType<IIdentityGenerator, IdentityGenerator>();
            unityContainer.RegisterType<IMd5Encryptor, Md5Encryptor>();

            // 映射依赖具体技术的RepositoryContext
            unityContainer.RegisterType<IRepositoryContext, EntityFrameworkRepositoryContext<StockDataDbContext>>();
        }
        public static void Init()
        {
            // 系统内有且仅有一次,指定IOC容器
            MyUnityContainer myContainer = new MyUnityContainer();
            ContainerHelper.SetInstance(myContainer);

            myContainer.RegisterType<IEntityValidator, DataAnnotationsEntityValidator>();
            myContainer.RegisterType<ITypeAdapter, AutomapperTypeAdapter>();
            myContainer.RegisterType<IIdentityGenerator, IdentityGenerator>();
            myContainer.RegisterType<IMd5Encryptor, Md5Encryptor>();
            myContainer.RegisterType<ILogger, TraceSourceLog>();
            myContainer.RegisterType<ISerializer, Serializer>();
            myContainer.RegisterType<IMailService, MailService>();
            myContainer.RegisterType<ICaptcha, Captcha>();
            myContainer.RegisterType<ISystemConfig, SystemConfig>();

            OnSystemInit();
        }
 protected override void RegisterTypes()
 {
     MyUnityContainer.RegisterType <IMainViewModel, MainViewModel>();
     MyUnityContainer.RegisterType <object, Main>(typeof(Main).FullName);
 }