I have read that is recomended to use functions instead of predicates in the extension methods, so I am trying to do it.

```
public static void Insert<T>(this ObservableCollection<T> paramOC, T NewElement, Func<T, T, bool> condition)
        {
            //code
        }

```

I am trying to use in this way:

```
myOC.Insert(myNewElement, e=>e.Name.CompareTo(myNewElement.Name) > 0));

```

But I get an error that says that the delete System.Func does not take 1 argument.

However, if I use a predicate intead of the function, it works.

What am I missing?

thank so much.