Exemple #1
0
        private static bool FilterField(this FieldInfo field, RegistrationContext contextData,
                                        ContainerConfiguration containerConfiguration, bool fieldsEnabled)
        {
            var valid = !field.IsInitOnly && !field.IsBackingField() &&
                        (field.GetDependencyAttribute() != null ||
                         fieldsEnabled ||
                         contextData.DependencyBindings.ContainsKey(field.Name));

            valid = valid && (containerConfiguration.AutoMemberInjectionFilter == null || containerConfiguration.AutoMemberInjectionFilter(field));
            valid = valid && (contextData.AutoMemberInjectionFilter == null || contextData.AutoMemberInjectionFilter(field));

            return(valid);
        }
Exemple #2
0
        private static bool FilterProperty(this PropertyInfo prop, RegistrationContext contextData,
                                           ContainerConfiguration containerConfiguration, bool publicPropsEnabled, bool limitedPropsEnabled)
        {
            var valid = prop.CanWrite && !prop.IsIndexer() &&
                        (prop.GetDependencyAttribute() != null ||
                         publicPropsEnabled && prop.HasPublicSetMethod() || limitedPropsEnabled ||
                         contextData.DependencyBindings.ContainsKey(prop.Name));

            valid = valid && (containerConfiguration.AutoMemberInjectionFilter == null || containerConfiguration.AutoMemberInjectionFilter(prop));
            valid = valid && (contextData.AutoMemberInjectionFilter == null || contextData.AutoMemberInjectionFilter(prop));

            return(valid);
        }