Exemple #1
0
        protected override IMapsDirectlyToDatabaseTable ConstructEntity(Type t, DbDataReader reader)
        {
            if (Constructors.ContainsKey(t))
            {
                return(Constructors[t](this, reader));
            }

            return(_constructor.ConstructIMapsDirectlyToDatabaseObject <ICatalogueRepository>(t, this, reader));
        }
Exemple #2
0
        public Tin Resolve <Tin>()
        {
            var typeIn = typeof(Tin);

            if (!Constructors.ContainsKey(typeIn))
            {
                return(Resolve <Tin>(null));
            }
            else
            {
                var constructor = Constructors[typeIn];
                return((Tin)constructor());
            }
        }
Exemple #3
0
        public void Register <Tin, Tout>() where Tout : class, Tin, new()
        {
            var typeIn  = typeof(Tin);
            var typeOut = typeof(Tout);

            var func = new Func <object>(() =>
            {
                return(Activator.CreateInstance(typeOut));
            });

            if (Constructors.ContainsKey(typeIn))
            {
                Constructors[typeIn] = func;
            }
            else
            {
                Constructors.Add(typeIn, func);
            }
        }