使用反射为方法提供泛型类型?

时间:2017-03-27 04:16:21

标签: c# generics reflection

我不确定这是否可以通过反思,但我想我会问。我使用依赖于泛型的数据访问类来确定'行类型'我们要查询的是什么。

有几个例子可以说明我的意思比什么都好:

int count1 = connection.Count<PersonRow>("i.FirstName ='David'");
int count2 = connection.Count<CarRow>("i.CarModel = 'Chevrolet'"); 

PersonRowCarRow都来自抽象的Row类。

正如您所看到的,我们查询的Row类型决定了我们的查询结构。

我想将一堆这些查询作为字符串存储在数据库或配置文件中,而不是对它们进行硬编码。这样我们就可以让用户按自己的意愿编写自己的查询,代码循环遍历配置并一次运行一个。

麻烦的是,根据上面的通用要求,我不知道是否可以解决这个问题?

我喜欢配置存储行的类型(作为字符串)以及查询本身的字符串,然后使用反射来提供Count<>方法中的行类。 / p>

我一直在玩Type.GetType()Type.MakeGenericType()看看是否 我可以找到一些东西,但我没有运气。

环顾四周时,我已经看过像this这样的文章,它们展示了如何使用反射来实例化泛型类,但是我需要类类型,而不是实际的对象。有没有办法解决这个问题?

0 个答案:

没有答案