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); }
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); }