Adds the specified object to the specified IEnumerable. - CSharp System.Collections.Generic

CSharp examples for System.Collections.Generic:IEnumerable

Description

Adds the specified object to the specified IEnumerable.

Demo Code

/*/*from w ww . java  2 s . c  om*/
 * Copyright ? 2002-2011 the original author or authors.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *      http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
using System.Reflection;
using System.Collections;
using System;

public class Main{
        /// <summary>
        /// Adds the specified <paramref name="element"/> to the specified <paramref name="enumerable"/> .
        /// </summary>
        /// <param name="enumerable">The enumerable to add the element to.</param>
        /// <param name="element">The object to add to the collection.</param>
        public static void Add(IEnumerable enumerable, object element)
        {
            if (enumerable == null)
            {
                throw new ArgumentNullException("enumerable", "Collection cannot be null.");
            }
            if (enumerable is IList)
            {
                ((IList)enumerable).Add(element);
                return;
            }
            MethodInfo method;
            method = enumerable.GetType().GetMethod("add", BindingFlags.IgnoreCase | BindingFlags.Instance | BindingFlags.Static | BindingFlags.Public);
            if (null == method)
            {
                throw new InvalidOperationException("Enumerable type " + enumerable.GetType() + " does not implement a Add() method.");
            }
            method.Invoke(enumerable, new Object[] { element });
        }
        /// <summary>
        /// Adds the specified <paramref name="element"/> to the specified <paramref name="collection"/> .
        /// </summary>
        /// <param name="collection">The collection to add the element to.</param>
        /// <param name="element">The object to add to the collection.</param>
        public static void Add(ICollection collection, object element)
        {
            Add((IEnumerable)collection, element);
        }
}

Related Tutorials