Ejemplo n.º 1
0
        public IEnumerable <IGlassMap> Load()
        {
            Type glassmapType           = typeof(IGlassMap);
            IEnumerable <Type> mapTypes = _assembly.GetTypes().Where(x => glassmapType.IsAssignableFrom(x));
            var maps = new List <IGlassMap>();

            foreach (var mapType in mapTypes)
            {
                try
                {
                    var activator = ActivationManager.GetActivator <IGlassMap>(mapType);
                    var map       = activator();
                    maps.Add(map);
                }
                catch (Exception ex)
                {
                    throw new MapperException("Failed to create instance of IGlassMap.", ex);
                }
            }

            return(maps);
        }
Ejemplo n.º 2
0
        private static ActivationManager.CompiledActivator <object> GetActivator(Type forType, IEnumerable <Type> parameterTypes = null)
        {
            var paramTypes = parameterTypes == null ? null : parameterTypes.ToArray();

            return(Activators.GetOrAdd(forType, type => ActivationManager.GetActivator <object>(type, paramTypes)));
        }