public static void ConfigureContainer(IObjectContainer container, ApplicationConfiguration config) { if (config == null || config.ContainerConfiguration == null) return; if (container == null) return; foreach (object item in config.ContainerConfiguration.Items) { ObjectContainerAdd add = item as ObjectContainerAdd; if (item != null) { Type tKey = Type.GetType(add.KeyType, true, true); Type tObj = Type.GetType(add.ObjectType, true, true); container.Register(tKey, Activator.CreateInstance(tObj)); continue; } ObjectContainerRemove remove = item as ObjectContainerRemove; if (item != null) { throw new NotImplementedException("Removing an object is not supported yet."); } ObjectContainerClear clear = item as ObjectContainerClear; if (item != null) { container.Clear(); continue; } } }
public static void ConfigureModules(IObjectContainer container, ApplicationConfiguration config) { if (config == null) { return; } if (container == null) { return; } foreach (ModuleDefinition moduleDef in config.ModulesConfiguration.Modules) { Type moduleType = Type.GetType(moduleDef.Type, false, true); if (moduleType == null) { throw new InvalidOperationException( string.Format("Cannot load type from string \"{0}\".", moduleDef.Type)); } if (!typeof(IModule).IsAssignableFrom(moduleType)) { throw new InvalidCastException(string.Format("Type {0} does not implements type {1}.", moduleType, typeof(IModule))); } object module = Activator.CreateInstance(moduleType); container.Register(moduleType, module); } }
public void RegisterTypes(ICoordinator coordinator) { _container.Register <ICoordinator>(coordinator) .WhenInjectedInto(typeof(IController)) // can only be injected into IController .In(Lifetime.Container()); var module = new RegistrationModlule(coordinator.PairManager.ViewControllerPairs); _container.RegisterModule(module); }
internal static void Reg(IObjectContainer container) { // 注册内置访问器 container .Register<IEntityAccessor, HttpEntityAccessor>(EntityAccessorTypes.Http) .Register<IEntityAccessor, WebFormEntityAccessor>(EntityAccessorTypes.WebForm) .Register<IEntityAccessor, WinFormEntityAccessor>(EntityAccessorTypes.WinForm) .Register<IEntityAccessor, BinaryEntityAccessor>(EntityAccessorTypes.Binary) .Register<IEntityAccessor, XmlEntityAccessor>(EntityAccessorTypes.Xml) .Register<IEntityAccessor, JsonEntityAccessor>(EntityAccessorTypes.Json); }
private static IObjectContainer Reg <T>(this IObjectContainer container, Object id = null) { IDatabase db = TypeX.CreateInstance(typeof(T)) as IDatabase; if (id == null) { id = db.DbType; } // 把这个实例注册进去,作为默认实现 return(container.Register(typeof(IDatabase), null, db, id)); }
private static IObjectContainer Reg<T>(this IObjectContainer container, Object id = null) { try { var db = typeof(T).CreateInstance() as IDatabase; if (id == null) id = db.Type; // 把这个实例注册进去,作为默认实现 return container.Register(typeof(IDatabase), null, db, id); } catch (Exception ex) { XTrace.WriteException(ex); throw; } }
public static void ConfigureModules(IObjectContainer container, ApplicationConfiguration config) { if (config == null) return; if (container == null) return; foreach (ModuleDefinition moduleDef in config.ModulesConfiguration.Modules) { Type moduleType = Type.GetType(moduleDef.Type, false, true); if (moduleType == null) throw new InvalidOperationException( string.Format("Cannot load type from string \"{0}\".", moduleDef.Type)); if (!typeof(IModule).IsAssignableFrom(moduleType)) throw new InvalidCastException(string.Format("Type {0} does not implements type {1}.", moduleType, typeof(IModule))); object module = Activator.CreateInstance(moduleType); container.Register(moduleType, module); } }
public static void ConfigureContainer(IObjectContainer container, ApplicationConfiguration config) { if (config == null || config.ContainerConfiguration == null) { return; } if (container == null) { return; } foreach (object item in config.ContainerConfiguration.Items) { ObjectContainerAdd add = item as ObjectContainerAdd; if (item != null) { Type tKey = Type.GetType(add.KeyType, true, true); Type tObj = Type.GetType(add.ObjectType, true, true); container.Register(tKey, Activator.CreateInstance(tObj)); continue; } ObjectContainerRemove remove = item as ObjectContainerRemove; if (item != null) { throw new NotImplementedException("Removing an object is not supported yet."); } ObjectContainerClear clear = item as ObjectContainerClear; if (item != null) { container.Clear(); continue; } } }
public static void Register(Type serviceType, Type implementationType, LifeTime lifetime = LifeTime.Singleton) { Current.Register(serviceType, implementationType, lifetime); }
public static IObjectContainer Register <TInterface, TImplement>(this IObjectContainer container, Object id = null, Int32 priority = 0) => container.Register(typeof(TInterface), typeof(TImplement), null);
public void RegisterExtensionPort <TContract>(IExtensionPort <TContract> port) { _container.Register(port); }
public static void Register <TInterface, TService>(LifeScope lifeScope = LifeScope.Single) { _container.Register <TInterface, TService>(lifeScope); }
public static void RegisterType <TService>(this IObjectContainer objContainer, string strName) where TService : class { objContainer.Register(f => f.RegisterType <TService>().Named <TService>(strName)); }
public static void RegisterType(this IObjectContainer objContainer, Type objServiceType, Type objComponentType, string strName, LifetimeStyle iLifetimeStyle) { objContainer.Register(f => f.RegisterType(objServiceType, objComponentType).Named(strName, objServiceType).Lifetime(iLifetimeStyle)); }
/// <summary>Register a implementer type as a service implementation. /// </summary> /// <typeparam name="TService">The service type.</typeparam> /// <typeparam name="TImplementer">The implementer type.</typeparam> /// <param name="life">The life cycle of the implementer type.</param> public static void Register <TService, TImplementer>(LifeStyle life = LifeStyle.Singleton) where TService : class where TImplementer : class, TService { _container.Register <TService, TImplementer>(life); }
public static void RegisterInstance <TService>(this IObjectContainer objContainer, TService objInstance) where TService : class { objContainer.Register(f => f.RegisterType <TService>(objInstance)); }
public static void RegisterType <TService, TComponent>(this IObjectContainer objContainer, string strName, LifetimeStyle iLifetimeStyle) where TService : class where TComponent : class, TService { objContainer.Register(f => f.RegisterType <TService, TComponent>().Named <TService>(strName).Lifetime(iLifetimeStyle)); }
public static void RegisterType <TService, TComponent>(this IObjectContainer objContainer) where TService : class where TComponent : class, TService { objContainer.Register(f => f.RegisterType <TService, TComponent>()); }
public static void RegisterType <TService>(this IObjectContainer objContainer, LifetimeStyle iLifetimeStyle) where TService : class { objContainer.Register(f => f.RegisterType <TService>().Lifetime(iLifetimeStyle)); }
void InitializeBuilder(IObjectContainer container) { container.Register <IComponent, SingletonComponent>(LifeStyle.Singleton); container.RegisterType(typeof(SingletonComponent), LifeStyle.Singleton); container.RegisterType(typeof(SinglecallComponent), LifeStyle.Transient); }
public static void RegisterType(this IObjectContainer objContainer, Type objServiceType, Type objComponentType) { objContainer.Register(f => f.RegisterType(objServiceType, objComponentType)); }
public static void RegisterType <TService>(this IObjectContainer objContainer) where TService : class { objContainer.Register(f => f.RegisterType <TService>()); }
public static void Register(Type implType) { _current.Register(implType); }
public static void RegisterInstance <TService>(this IObjectContainer objContainer, TService objInstance, string strName, LifetimeStyle iLifetimeStyle) where TService : class { objContainer.Register(f => f.RegisterType <TService>(objInstance).Named <TService>(strName).Lifetime(iLifetimeStyle)); }
/// <summary>注册类型指定名称的实例</summary> /// <typeparam name="TInterface">接口类型</typeparam> /// <param name="container">对象容器</param> /// <param name="instance">实例</param> /// <param name="id">标识</param> /// <param name="priority">优先级</param> /// <returns></returns> public static IObjectContainer Register <TInterface>(this IObjectContainer container, Object instance, Object id = null, Int32 priority = 0) { return(container.Register(typeof(TInterface), null, instance, id, priority)); }
public static void RegisterGeneric(this IObjectContainer objContainer, Type objService, Type objComponent) { objContainer.Register(f => f.RegisterGeneric(objService, objComponent).Lifetime(LifetimeStyle.Transient)); }