如何将反射得到的类型当作泛型中的参数类型进行传递
1个回答
展开全部
通过Type类的Type.MakeGenericType方法获取
// 这个tableName是从报文里读取的,现在测试,我直接给个名字
string tableName = "BaoHuGuiHua";
// 反射获取表名的Type
Type type = Assembly.Load("Apt.MWSGR.Domain").GetType("Apt.MWSGR.Domain.Entities." + tableName);
type = typeof(ExportDataByTableNameQuery<>).MakeGenericType(type);
object exportDataByTableNameQuery = Activator.CreateInstance(type);
// 下面这句话是关键,太长了,分3行显示
var exportData = type.GetMethod("GetAll", System.Reflection.BindingFlags.Public |
System.Reflection.BindingFlags.Instance, null, new Type[0], null)
.Invoke(exportDataByTableNameQuery, null);
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询