我有这个功能
public IList<TEntity> GetData<TEntity>() where TEntity : class
{
return _DbContext.Set<TEntity>().ToList();
}
我将此功能称为
GetData<View_Export_Books>()
所以现在我必须从字符串动态加载View_Export_Books类。这可能吗?
感谢您的帮助。
添加评论:
我将View_Export_Books作为字符串,我想将其转换为通用参数。
答案 0 :(得分:0)
我希望它可以帮到你。如果您有任何疑问,请与我们联系。
public class MyClass
{
public IList<TEntity> GetData<TEntity>() where TEntity : class
{
return _DbContext.Set<TEntity>().ToList();
}
public void Test()
{
var type = GetTypeOf("View_Export_Books");
var method = typeof(MyClass).GetMethod("GetData").MakeGenericMethod(type);
//This was a mistake.
//var instance = Activator.CreateInstance(type);
method.Invoke(this/*instance*/, new object[]{ });
}
private Type GetTypeOf(string className)
{
var assembly = AppDomain.CurrentDomain.GetAssemblies().First(a => a.GetTypes().Any(t => t.Name == className));
return assembly.GetTypes().First(t => t.Name == className);
}
}