Consider removing duplicated elements of List from a specific class like below:
private List<MyClass> RemoveDuplicatedMyClass(List<MyClass> myObjects)
{
    List<MyClass> uniqueMyClasses = new List<MyClass>();
    foreach (MyClass item in myObjects)
    {
        if (uniqueMyClasses.FindAll(itm => itm.myAttribute == item.myAttribute).Count == 0)
        {
            uniqueMyClasses.Add(item);
        }
    }
    return uniqueMyClasses;
}
I want to refactor RemoveDuplicatedMyClass to a generic version RemoveDuplicatedItems like below:
public static List<T> RemoveDuplicatedItems<T>(List<T> items, Predicate<T> match)
{
    if (items == null)
    {
        return new List<T>();
    }
    List<T> uniqueItems = new List<T>();
    foreach (T item in items)
    {
        // Check if item exists (= already added)! If not add to unique list.
        if (uniqueItems.FindAll(match).Count < 1)
        {
            uniqueItems.Add(item);
        }
    }
    return uniqueItems;
}
Problem: How can I get access to Predicate<T> match with the inner T item?
 
    