private void InjectStaticProperties(IEnumerable <Type> types) { InjectPropertySelector propertySelector = new InjectPropertySelector(InjectPropertyTypes.StaticOnly); foreach (Type type in types) { List <PropertyInfo> injectableTypes = (List <PropertyInfo>)propertySelector.Execute(type); foreach (PropertyInfo propertyInfo in injectableTypes) { object value = serviceManager.AnvilServiceContainer.TryGetInstance(propertyInfo.PropertyType); propertyInfo.SetValue(null, value); injectedStaticProperties.Add(propertyInfo); } } }
/// <summary> /// Initializes a new instance of the <see cref="InjectPropertyDependencySelector"/> class. /// </summary> /// <param name="propertySelector">The <see cref="InjectPropertySelector"/> that is responsible for selecting a list of injectable properties.</param> public InjectPropertyDependencySelector(InjectPropertySelector propertySelector) : base(propertySelector) { }