private readonly FieldInfo fieldInfo; //internal configuration field. /// <summary> /// Creates ConfigInjection instance. /// </summary> /// <param name="updateManager">UpdateManager instance to which configuration is to be injected.</param> /// <param name="configuration">The configuration for injection.</param> public ConfigInjection(IUpdateManager updateManager, UpdateManagerConfiguration configuration) { this.updateManager = updateManager; fieldInfo = updateManager.GetType() .GetField("configuration", BindingFlags.NonPublic | BindingFlags.Instance); Assert.IsNotNull(fieldInfo); this.configuration = fieldInfo.GetValue(updateManager); fieldInfo.SetValue(updateManager, configuration); }