如下代码片断展示了怎样在C#中使用反射调用参数中包含Lambda表达式的方法: GetData(Expression<Func<ExampleEntity, bool>>), 以及根据条件动态选择无参和有参方法: using System; using System.Linq; using System.Linq.Expressions; using System.Reflection; namespace ReflectCallGenericMethod { class Program { static void Main(string[] args) { Assembly assembly = Assembly.GetExecutingAssembly(); Type typeService = assembly.GetTypes() .Where(t => t.IsClass && t.Name == "ExampleService").SingleOrDefault(); Type typeEntity = assembly.GetTypes() .Where(t => t.IsClass && t.Name == "ExampleEntity").SingleOrDefault(); ParameterExpression paramExp = Expression.Parameter(typeEntity); Expression expression …
Tag: MakeGenericType