Esempio n. 1
0
        /// <summary>
        ///
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="visitor"></param>
        public static void Add <T>(IAttributeProviderVisitor <T> visitor)
        {
            Guard.NotNull(visitor, "visitor");

            lock (visitors)
            {
                visitors[typeof(T).TypeHandle] = visitor;
            }
        }
Esempio n. 2
0
        public void Inspect(IComponentInfo info, IKernel kernel, Type componentType, string injectionKey)
        {
            injectionInspector = new AttributeProviderInspector();
            ignoreVisitor      = AttributeProviderVisitorRepository.Get <bool>();

            Guard.NotNull(ignoreVisitor, "ignoreVisitor");

            if (!ignoreVisitor.VisitType(componentType))//if (!componentType.IsSystemAssemblyOfType())
            {
                InspectFields(info, kernel, componentType);
                InspectPropeties(info, kernel, componentType);
                InspectMethods(info, kernel, componentType);
            }

            info.ExtendedProperties[injectionKey]         = injectionInspector.Injections;
            info.ExtendedProperties["MembersRegistered"]  = injectionInspector.Exports;
            info.ExtendedProperties["AppSettings"]        = injectionInspector.AppSettingInjections;
            info.ExtendedProperties["subscribeProviders"] = injectionInspector.SubscribeInfoFactoryProviders;

            injectionInspector = null;
        }