コード例 #1
0
    /// <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);
    }
コード例 #2
0
        /// <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);
        }
コード例 #3
0
        /// <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);
        }
コード例 #4
0
    /// <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;
    }