Jak wywołać metodę rozszerzenia za pomocą odbicia?

Doceniam to, że już wcześniej zadawano podobne pytania, ale walczę o przywołanie LinqGdzie metoda w następującym kodzie. Szukam refleksji, aby dynamicznie wywołać tę metodę, a także dynamicznie budować delegata (lub lambdę) używanego wGdzie klauzula. Jest to krótka próbka kodu, która po uruchomieniu pomoże utworzyć część interpretowanej linii DSL, którą buduję. Twoje zdrowie.

    public static void CallWhereMethod()
    {
        List<MyObject> myObjects = new List<MyObject>(){new MyObject{Name="Jon Simpson"}};
        System.Delegate NameEquals = BuildEqFuncFor<MyObject>("Name", "Jon Simpson");
        object[] atts = new object[1] ;
        atts[0] = NameEquals;

        var ret = typeof(List<MyObject>).InvokeMember("Where", BindingFlags.InvokeMethod, null, InstanceList,atts);
    }

    public static Func<T, bool> BuildEqFuncFor<T>(string prop, object val)
    {
        return t => t.GetType().InvokeMember(prop,BindingFlags.GetProperty,
                                             null,t,null) == val;
    }

questionAnswers(5)

yourAnswerToTheQuestion