public void RegisterType <TType, TImplementation>(string name, ILifeTimeManager lifeTimeManager) { string key = typeof(TType).FullName; if (!string.IsNullOrEmpty(name)) { key = name; } if (ContainerDictionary.ContainsKey(key)) //如果存在覆盖 { ContainerDictionary[key] = new RegisteredType { TargetType = typeof(TImplementation), LifeTimeManager = lifeTimeManager } } ; else { ContainerDictionary.Add(key, new RegisteredType { TargetType = typeof(TImplementation), LifeTimeManager = lifeTimeManager });//将传进来的泛型Type进行关系映射 } }
public InstanceProvider(T instance, ILifeTimeManager lifeTimeManager, LifeTime lifeTime) { _instance = instance; LifeTime = lifeTime; lifeTimeManager.Add(this, LifeTime); }
public SingletonProvider(Func <T> factoryMethod, ILifeTimeManager lifeTimeManager, LifeTime lifeTime) { _factoryMethod = factoryMethod; _lifeTimeManager = lifeTimeManager; LifeTime = lifeTime; }
public SingletonProvider(ILifeTimeManager lifeTimeManager, LifeTime lifeTime) : this(Activator.CreateInstance <T>, lifeTimeManager, lifeTime) { }
public void RegisterType <TType>(string name, ILifeTimeManager lifeTimeManager) => RegisterType <TType, TType>(name, lifeTimeManager);
public void RegisterType <TType, TImplementation>(ILifeTimeManager lifeTimeManager) => RegisterType <TType, TImplementation>("", lifeTimeManager);
public void RegisterType <TType>(ILifeTimeManager lifeTimeManager) => RegisterType <TType, TType>(lifeTimeManager);
public ScenePathProvider(string path, ILifeTimeManager lifeTimeManager, LifeTime lifeTime) { _path = path; _lifeTimeManager = lifeTimeManager; LifeTime = lifeTime; }
public FindObjectOfTypeProvider(ILifeTimeManager lifeTimeManager, LifeTime lifeTime) { _lifeTimeManager = lifeTimeManager; LifeTime = lifeTime; }
public GetComponentProvider(FindComponentHint hint, ILifeTimeManager lifeTimeManager, LifeTime lifeTime) { _hint = hint; _lifeTimeManager = lifeTimeManager; LifeTime = lifeTime; }
public FactoryMethodProvider(ILifeTimeManager lifeTimeManager, LifeTime lifeTime) : this(Activator.CreateInstance <T>, lifeTimeManager, lifeTime) { }
public FactoryMethodProvider(Func <T> factoryMethod, ILifeTimeManager lifeTimeManager, LifeTime lifeTime) { LifeTime = lifeTime; _lifeTimeManager = lifeTimeManager; _factoryMethod = factoryMethod; }