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;
}
}
}
Kommentare zum Snippet