All these "solutions" were anything but.
Yes is not a useful answer even if it's technically correct.
Give examples or don't bother, and sending a link to a bevy of articles is NOT an answer.
When you are overloading to shorten the method call without using default parameters you need to call one of the other overloaded extension methods. This is how it's done.
public static List<DataObject> Search(this List<DataObject> source, string where, string orderBy)
{
....
return result;
}
public static List<DataObject> Search(this List<DataObject> source, string where)
{
return source.Search(where, string.Empty);
}