我不确定这是否可以通过反思,但我想我会问。我使用依赖于泛型的数据访问类来确定'行类型'我们要查询的是什么。
有几个例子可以说明我的意思比什么都好:
int count1 = connection.Count<PersonRow>("i.FirstName ='David'");
int count2 = connection.Count<CarRow>("i.CarModel = 'Chevrolet'");
PersonRow
和CarRow
都来自抽象的Row
类。
正如您所看到的,我们查询的Row
类型决定了我们的查询结构。
我想将一堆这些查询作为字符串存储在数据库或配置文件中,而不是对它们进行硬编码。这样我们就可以让用户按自己的意愿编写自己的查询,代码循环遍历配置并一次运行一个。
麻烦的是,根据上面的通用要求,我不知道是否可以解决这个问题?
我喜欢配置存储行的类型(作为字符串)以及查询本身的字符串,然后使用反射来提供Count<>
方法中的行类。 / p>
我一直在玩Type.GetType()
和Type.MakeGenericType()
看看是否
我可以找到一些东西,但我没有运气。
环顾四周时,我已经看过像this这样的文章,它们展示了如何使用反射来实例化泛型类,但是我需要类类型,而不是实际的对象。有没有办法解决这个问题?