Ejemplo n.º 1
0
        public RegisterClasse Register(Type iclasse, Type classe, RegisterTipo tipo = RegisterTipo.Singleton)
        {
            if (_registeredTypes.ContainsKey(iclasse))
            {
                _registeredTypes.Remove(iclasse);
            }
            var registerClasse = new RegisterClasse(iclasse, classe, tipo);

            _registeredTypes.Add(iclasse, registerClasse);
            return(registerClasse);
        }
Ejemplo n.º 2
0
        private object Resolve(RegisterClasse registerClasse)
        {
            switch (registerClasse.Tipo)
            {
            case RegisterTipo.PerThread:
                return(GetObjetoPerThread(registerClasse.Classe));

            case RegisterTipo.PerWebRequest:
                return(GetObjetoPerWebRequest(registerClasse.Classe));

            case RegisterTipo.Scope:
                return(GetObjetoScope(registerClasse.Classe));

            case RegisterTipo.Singleton:
                return(GetObjetoSingleton(registerClasse.Classe));

            default:
            case RegisterTipo.Transient:
                return(GetObjeto(registerClasse.Classe));
            }
        }
Ejemplo n.º 3
0
 public static RegisterClasse PerWebRequest(this RegisterClasse registerClasse) =>
 registerClasse.SetRegisterTipo(RegisterTipo.PerWebRequest);
Ejemplo n.º 4
0
 public static RegisterClasse PerTransient(this RegisterClasse registerClasse) =>
 registerClasse.SetRegisterTipo(RegisterTipo.Transient);
Ejemplo n.º 5
0
 public static RegisterClasse PerThread(this RegisterClasse registerClasse) =>
 registerClasse.SetRegisterTipo(RegisterTipo.PerThread);
Ejemplo n.º 6
0
 public static RegisterClasse PerSingleton(this RegisterClasse registerClasse) =>
 registerClasse.SetRegisterTipo(RegisterTipo.Singleton);
Ejemplo n.º 7
0
 public static RegisterClasse PerScope(this RegisterClasse registerClasse) =>
 registerClasse.SetRegisterTipo(RegisterTipo.Scope);
Ejemplo n.º 8
0
 public static RegisterClasse SetRegisterTipo(this RegisterClasse registerClasse, RegisterTipo tipo)
 {
     registerClasse.Tipo = tipo;
     return(registerClasse);
 }