Tag: reflection

如何使用reflection调用扩展方法?

我很感激之前已经提出了类似的问题,但我正在努力调用以下代码中的Linq Where方法。 我希望使用reflection动态调用此方法,并动态构建Where子句中使用的委托(或lambda)。 这是一个简短的代码示例,一旦工作,将有助于形成我正在构建的解释DSL的一部分。 干杯。 public static void CallWhereMethod() { List myObjects = new List(){new MyObject{Name=”Jon Simpson”}}; System.Delegate NameEquals = BuildEqFuncFor(“Name”, “Jon Simpson”); object[] atts = new object[1] ; atts[0] = NameEquals; var ret = typeof(List).InvokeMember(“Where”, BindingFlags.InvokeMethod, null, InstanceList,atts); } public static Func BuildEqFuncFor(string prop, object val) { return t => t.GetType().InvokeMember(prop,BindingFlags.GetProperty, null,t,null) == val; […]