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); }
public RegisterClasse Register <IObject, TObject>(RegisterTipo tipo = RegisterTipo.Singleton) where IObject : class where TObject : class, IObject { return(Register(typeof(IObject), typeof(TObject), tipo)); }
public RegisterClasse(Type iclasse, Type classe, RegisterTipo tipo) { IClasse = iclasse ?? throw new ArgumentNullException(nameof(iclasse)); Classe = classe ?? throw new ArgumentNullException(nameof(classe)); Tipo = tipo; }
public static RegisterClasse SetRegisterTipo(this RegisterClasse registerClasse, RegisterTipo tipo) { registerClasse.Tipo = tipo; return(registerClasse); }