Adds all of the elements of the "c" collection to the "target" collection. : ICollection « Collections Data Structure « C# / C Sharp






Adds all of the elements of the "c" collection to the "target" collection.

  

#region License and Copyright
/*
 * Dotnet Commons Collections 
 * 
 *
 * This library is free software; you can redistribute it and/or modify it 
 * under the terms of the GNU Lesser General Public License as published by 
 * the Free Software Foundation; either version 2.1 of the License, or 
 * (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful, but 
 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 
 * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License 
 * for more details. 
 *
 * You should have received a copy of the GNU Lesser General Public License 
 * along with this library; if not, write to the 
 * Free Software Foundation, Inc., 
 * 59 Temple Place, 
 * Suite 330, 
 * Boston, 
 * MA 02111-1307 
 * USA 
 * 
 */
#endregion

using System;
using System.Collections;

namespace Dotnet.Commons.Lang {

    class MainClass{
        /// <summary>
        /// Adds all of the elements of the "c" collection to the "target" collection.
        /// </summary>
        /// <param name="target">Collection where the new elements will be added.</param>
        /// <param name="c">Collection whose elements will be added.</param>
        /// <returns>Returns true if at least one element was added, false otherwise.</returns>
        public static bool AddAll(System.Collections.ICollection target, System.Collections.ICollection c)
        {
            System.Collections.IEnumerator e = new System.Collections.ArrayList(c).GetEnumerator();
            bool added = false;

            //Reflection. Invoke "addAll" method for proprietary classes
            System.Reflection.MethodInfo method;
            try
            {
                method = target.GetType().GetMethod("addAll");

                if (method != null)
                    added = (bool)method.Invoke(target, new System.Object[] { c });
                else
                {
                    method = target.GetType().GetMethod("Add");
                    while (e.MoveNext() == true)
                    {
                        bool tempBAdded = (int)method.Invoke(target, new System.Object[] { e.Current }) >= 0;
                        added = added ? added : tempBAdded;
                    }
                }
            }
            catch (System.Exception ex)
            {
                throw ex;
            }
            return added;
        }
   }
}

   
    
  








Related examples in the same category

1.Finds a value of the given type in the given collection.
2.Adds a new element to the specified collection.
3.Removes all the elements from the collection.
4.Determines whether the collection contains the specified element.
5.Removes the specified element from the collection.
6.Retains the elements in the target collection that are contained in the specified collection
7.Returns an array containing all the elements of the collection.
8.Converts an ICollection instance to an ArrayList instance.
9.Tests if the specified object is a collection and converts it to its string representation.
10.Determines whether the collection contains the specified element
11.Adds the specified element to the specified collection
12.Determines whether the collection contains all the elements in the specified collection.
13.Removes all the elements from the target collection that are contained in the source collection.
14.Converts an System.Collections.ICollection instance to an System.Collections.ArrayList instance.
15.Copies the elements of the ICollection to a new array of the specified element type.
16.Determine whether a given collection only contains a single unique object
17.Is a Collection Null Or Empty Or Default
18.Converts the specified collection to its string representation.
19.Group the collection using a function which returns the key.
20.Convert ICollection to T[]
21.Convert ICollection to T[]
22.ConvertAll ICollection to TOut[] with Converter
23.Add range to Collection
24.Lambda Collections Generic Set