/// <summary> /// Contains code that will be called when recipe execution begins. This is the first method in the lifecycle. /// </summary> /// <param name="currentValue">An <see cref="T:System.Object"/> that contains the current value of the argument.</param> /// <param name="newValue">When this method returns, contains an <see cref="T:System.Object"/> that contains /// the new value of the argument, if the returned value /// of the method is <see langword="true"/>. Otherwise, it is ignored.</param> /// <returns> /// <see langword="true"/> if the argument value should be replaced with /// the value in <paramref name="newValue"/>; otherwise, <see langword="false"/>. /// </returns> /// <remarks>By default, always returns <see langword="false"/>, unless overriden by a derived class.</remarks> public override bool OnBeginRecipe(object currentValue, out object newValue) { if (string.IsNullOrEmpty(currentValue as string)) { ReadLocalMachineEntryAction action = new ReadLocalMachineEntryAction(); action.RegistryPath = this.registryPath; action.RegistryEntry = this.registryEntry; action.Execute(); newValue = action.Value; return(true); } else { newValue = currentValue; return(false); } }
/// <summary> /// Contains code that will be called when recipe execution begins. This is the first method in the lifecycle. /// </summary> /// <param name="currentValue">An <see cref="T:System.Object"/> that contains the current value of the argument.</param> /// <param name="newValue">When this method returns, contains an <see cref="T:System.Object"/> that contains /// the new value of the argument, if the returned value /// of the method is <see langword="true"/>. Otherwise, it is ignored.</param> /// <returns> /// <see langword="true"/> if the argument value should be replaced with /// the value in <paramref name="newValue"/>; otherwise, <see langword="false"/>. /// </returns> /// <remarks>By default, always returns <see langword="false"/>, unless overriden by a derived class.</remarks> public override bool OnBeginRecipe(object currentValue, out object newValue) { if(string.IsNullOrEmpty(currentValue as string)) { ReadLocalMachineEntryAction action = new ReadLocalMachineEntryAction(); action.RegistryPath = this.registryPath; action.RegistryEntry = this.registryEntry; action.Execute(); newValue = action.Value; return true; } else { newValue = currentValue; return false; } }