检索泛型类型以调用泛型方法

时间:2013-07-11 07:24:23

标签: c# entity-framework reflection

我需要调用泛型方法过滤器,以便在Entity Framework数据库表中执行选择。

IEnumerable<T> x = Filter<T>(_cust, conditions, value_conditions);

T可以是我数据库的任何表。 使用反射我可以执行Filter方法:

MethodInfo methodFilter = typeof(SearchTool).GetMethod("Filter");
mI = methodFilter.MakeGenericMethod(eObject);
IEnumerable<T> x = mI.Invoke(this, new object[] { allElements, conditions, value_conditions });

SearchTool ”是声明Filter函数的命名空间的名称。 为了在Filter泛型方法中定义T,我声明了参数eObject,它是一个Type对象,定义如下:

eObject = Type.GetType("SearchApplication.Customers");

SearchApplication ”是定义名为“Customers”的数据库表的命名空间。客户是一个EntityObject。

问题是:是否还有其他可能性来检索EF EntityObject的类型,而不是声明像“SearchApplication.Customers”这样的字符串??

提前致谢 保罗

1 个答案:

答案 0 :(得分:0)

您可以使用typeof

var type = typeof(SearchApplication.Customers);