コード例 #1
0
        /// <summary>
        /// CommonObjectLocator constructor
        /// </summary>
        /// <param name="useAssocAsDISource">Allows object injection from the IoC container itself (not only from InjectionContainer)</param>
        /// <param name="disposeInjectionWithBuilder">Indicates whether the all injected objects should be disposed with the container</param>
        public CommonObjectLocator(bool useAssocAsDISource, bool disposeInjectionWithBuilder)
        {
            _disposeInjectionWithBuilder = disposeInjectionWithBuilder;
            _useAssocAsDISource          = useAssocAsDISource;

            _injection = new TypeStrictInjectionContainer(_disposeInjectionWithBuilder);

            if (_useAssocAsDISource)
            {
                _resolver = new InjectionThenAssociationResolver(_injection, this);
            }
            else
            {
                _resolver = _injection.GetDirectInjectionResolver();
            }

            _association = new AssociationContainer(_resolver);
        }