/// <summary> /// Execute this command. /// </summary> /// <param name="variables">The variable list of the calling code.</param> public override void Execute(VariableList variables) { string[] processed = ProcessParameters(variables, Parameters); string value0 = variables.VariableGet(processed[0]); string value1 = variables.VariableGet(processed[1]); variables.VariableSet(processed[0], value1); variables.VariableSet(processed[1], value0); }
/// <summary> /// Processes an array of strings to dereference variables and replace special characters and strings. /// </summary> /// <param name="variables">The variable list.</param> /// <param name="parameters">Array of parameter strings.</param> /// <returns>Processed parameters array of strings.</returns> public static string[] ProcessParameters(VariableList variables, string[] parameters) { string[] processed = new string[parameters.Length]; for (int index = 0; index < parameters.Length; index++) { if (String.IsNullOrEmpty(parameters[index])) { processed[index] = parameters[index]; } else { string newParam = parameters[index]; if (newParam.StartsWith(VariableList.VariablePrefix, StringComparison.OrdinalIgnoreCase)) { newParam = variables.VariableGet(newParam.Substring(VariableList.VariablePrefix.Length)); } newParam = ReplaceSpecial(newParam); processed[index] = newParam; } } return(processed); }
/// <summary> /// Processes an array of strings to dereference variables and replace special characters and strings. /// </summary> /// <param name="variables">The variable list.</param> /// <param name="parameters">Array of parameter strings.</param> /// <returns>Processed parameters array of strings.</returns> public static string[] ProcessParameters(VariableList variables, string[] parameters) { string[] processed = new string[parameters.Length]; for (int index = 0; index < parameters.Length; index++) { if (String.IsNullOrEmpty(parameters[index])) { processed[index] = parameters[index]; } else { string newParam = parameters[index]; if (newParam.StartsWith(VariableList.VariablePrefix, StringComparison.OrdinalIgnoreCase)) newParam = variables.VariableGet(newParam.Substring(VariableList.VariablePrefix.Length)); newParam = ReplaceSpecial(newParam); processed[index] = newParam; } } return processed; }