49 lines
1.7 KiB
C#
49 lines
1.7 KiB
C#
|
using System.Collections.Generic;
|
|||
|
|
|||
|
namespace Plane.Collections
|
|||
|
{
|
|||
|
public static class CollectionExtensions
|
|||
|
{
|
|||
|
/// <summary>
|
|||
|
/// Calls ICollection<T>.Add internally, but returns the original collection for chain programming.
|
|||
|
/// </summary>
|
|||
|
/// <typeparam name="T">The item type.</typeparam>
|
|||
|
/// <param name="origin">The original collection.</param>
|
|||
|
/// <param name="itemToAdd">The item to add.</param>
|
|||
|
/// <returns>The original collection.</returns>
|
|||
|
public static ICollection<T> AddEx<T>(this ICollection<T> origin, T itemToAdd)
|
|||
|
{
|
|||
|
origin.Add(itemToAdd);
|
|||
|
return origin;
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// Add items to the collection.
|
|||
|
/// </summary>
|
|||
|
/// <typeparam name="T">The item type.</typeparam>
|
|||
|
/// <param name="origin">The original collection.</param>
|
|||
|
/// <param name="itemToAdd">The items to add.</param>
|
|||
|
/// <returns>The original collection.</returns>
|
|||
|
public static ICollection<T> AddEx<T>(this ICollection<T> origin, IEnumerable<T> itemsToAdd)
|
|||
|
{
|
|||
|
foreach (var item in itemsToAdd)
|
|||
|
{
|
|||
|
origin.Add(item);
|
|||
|
}
|
|||
|
return origin;
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// Calls ICollection<T>.Clear internally, but returns the original collection for chain programming.
|
|||
|
/// </summary>
|
|||
|
/// <typeparam name="T">The item type.</typeparam>
|
|||
|
/// <param name="origin">The original collection.</param>
|
|||
|
/// <returns>The original collection.</returns>
|
|||
|
public static ICollection<T> ClearEx<T>(this ICollection<T> origin)
|
|||
|
{
|
|||
|
origin.Clear();
|
|||
|
return origin;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|