从GetType获取Generic Class

时间:2016-09-06 06:54:22

标签: vb.net generics gettype

我尝试使用GetType从数据库中获取数据。

VB.net中的示例:

Dim genericObject = Me.UnitOfWork.GetAll(Of GetType("MyNamespace.Student"))()

确定此代码出错。但我不知道如何使用类名字符串从数据库中检索数据。

我的项目是,我尝试创建动态文档合并。

1 个答案:

答案 0 :(得分:0)

您需要Me.UnitOfWork.GetAll(of MyNamespace.Student)()。如果在编译时不知道该类,则需要通过反射

调用它
Dim method As MethodInfo = Me.UnitOfWork.GetType().GetMethod("GetAll")
Dim generic As MethodInfo = method.MakeGenericMethod(GetType("MyNamespace.Student"))
generic.Invoke(Me.UnitOfWork, Nothing)

有关详细信息,请参阅此答案: How do I use reflection to call a generic method?