You dont need it because FirstOrDefault
take a Func
in parameter. Since Contains
match the type asked, you can pass Contains
like you would pass any argument to any other function.
FirstOrDefault's signature is:
public static TSource FirstOrDefault<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,bool> predicate);
You are used to write:
var target = ListOfTabs.FirstOrDefault(x => e.Target.Location.OriginalString.Contains(x));
Which is the same as
Func<string, bool> predicate = x => e.Target.Location.OriginalString.Contains(x);
var target = ListOfTabs.FirstOrDefault(predicate);
Which is the same as
Func<string, bool> predicate = e.Target.Location.OriginalString.Contains;
var target = ListOfTabs.FirstOrDefault(predicate);
At that point, you can pass Contains
directly:
var target = ListOfTabs.FirstOrDefault(e.Target.Location.OriginalString.Contains);