Feedback

C# - LINQ Erweiterung: NotOfType<T>()

Veröffentlicht von am 8/24/2015
(0 Bewertungen)
Diese LINQ artige Erweiterungsmethode gibt alle Elemente der Auflistung zurück, die nicht einem bestimmten Typ entsprechen.

Benötigter Namspace
System.Collections
/// <summary>
/// Wählt alle Elemente aus der Quellauslistung aus, die nicht einem 
/// bestimmten Typ oder einer Ableitung dessen entsprechen.
/// </summary>
/// <typeparam name="TRemove">Der Typ der nicht mit aufgelistet werden soll.</typeparam>
/// <param name="source">Die Quellauflistung.</param>
/// <returns>Eine Auflistung mit allen Elementen von <paramref name="source"/>
/// die nicht <typeparamref name="TRemove"/> als Typ oder Basis-Typ haben.</returns>
public static IEnumerable NotOfType<TRemove>(this IEnumerable source)
{
    if (source == null)
    {
        throw new ArgumentNullException("source");
    }
    foreach (var item in source)
    {
        if (!(item is TRemove))
        {
            yield return item;
        }
    }
}
Abgelegt unter LINQ, OfType, NotOfType, Erweiterungsmethode.

Kommentare zum Snippet

 

Logge dich ein, um hier zu kommentieren!