コード例 #1
0
        /// <summary>
        /// Add a parameter
        /// </summary>
        /// <param name="name">Name of parameter, can contain a string array.</param>
        /// <param name="value">Value</param>
        /// <example>
        /// <code>
        /// ArrayParameterCollection array = new ArrayParameterCollection();
        /// array.Add("user[FirstName]", "Jonas");
        /// array.Add("user[FirstName]", "Arne");
        /// string firstName = array["user"]["FirstName"].Value; // "Arne" is returned
        /// foreach (string value in array["user"]["FirstName"])
        ///   Console.WriteLine(value);  // each name is displayed.
        /// </code>
        /// </example>
        public void Add(string name, string value)
        {
            int pos = name.IndexOf('[');

            if (pos != -1)
            {
                string myName = name.Substring(0, pos);
                name = name.Remove(0, pos + 1);
                pos  = name.IndexOf(']');
                name = name.Remove(pos, 1);

                ArrayParameterCollection mine = GetItem(myName);
                if (mine == null)
                {
                    mine = new ArrayParameterCollection(myName, string.Empty);
                    _items.Add(myName, mine);
                }

                mine.Add(name, value);
                return;
            }

            // new parameter
            ArrayParameterCollection current = GetItem(name);

            if (current == null)
            {
                current = new ArrayParameterCollection(name, value);
                _items.Add(name, current);
                return;
            }

            // existing
            current.Values.Add(value);
        }
コード例 #2
0
    /// <summary>
    /// Add a parameter
    /// </summary>
    /// <param name="name">Name of parameter, can contain a string array.</param>
    /// <param name="value">Value</param>
    /// <example>
    /// <code>
    /// ArrayParameterCollection array = new ArrayParameterCollection();
    /// array.Add("user[FirstName]", "Jonas");
    /// array.Add("user[FirstName]", "Arne");
    /// string firstName = array["user"]["FirstName"].Value; // "Arne" is returned
    /// foreach (string value in array["user"]["FirstName"])
    ///   Console.WriteLine(value);  // each name is displayed.
    /// </code>
    /// </example>
    public void Add(string name, string value)
    {
      int pos = name.IndexOf('[');
      if (pos != -1)
      {
        string myName = name.Substring(0, pos);
        name = name.Remove(0, pos + 1);
        pos = name.IndexOf(']');
        name = name.Remove(pos, 1);

        ArrayParameterCollection mine = GetItem(myName);
        if (mine == null)
        {
          mine = new ArrayParameterCollection(myName, string.Empty);
          _items.Add(myName, mine);
        }

        mine.Add(name, value);
        return;
      }

      // new parameter
      ArrayParameterCollection current = GetItem(name);
      if (current == null)
      {
        current = new ArrayParameterCollection(name, value);
        _items.Add(name, current);
        return;
      }

      // existing
      current.Values.Add(value);
    }