GetType的动态列表?

时间:2017-03-28 05:59:21

标签: c# list petapoco

 Type t = Type.GetType("classname");

我不喜欢类classname。我需要这样的。

  List<t> list = db.Fetch<t>("select * from classname");

我收到错误:

  

“t”无法找到。

我该如何使用它?

1 个答案:

答案 0 :(得分:2)

  

键入t = Type.GetType(&#34; classname&#34;);

  • 允许您在运行时输入详细信息
  

List<t> list = db.Fetch<t>("select * from classname");

  • 需要在编译时输入类型信息,因为在编译时验证了泛型

这是它不起作用的原因

您的选择,使用:

  1. db.Fetch<dynamic>("select * from classname");
  2. 可用于访问给定Type T的所有属性,唯一的一点是,如果属性不存在则使用动态类型,其运行时异常不是编译时错误

    如果还需要,您可以在运行时使用反射来填充类型T的对象,并且可以验证和填充每个属性,并且可以在运行时创建列表