我想要的效果是
 List<T> s;  这个T是在运行时才能知道的. 要怎么做?

解决方案 »

  1.   

    Type t =  //运行赋值?List<t>//?
      

  2.   

    那应该怎么做?  List<T>里的值是用反射求出来的, 然后我用的控件需要IList类型做DataSource.有办法做到吗?
      

  3.   

    c#的泛型是运行时泛型,c++的泛型是编译时泛型。
    这个没错。但不论如何,类型都是编写程序是指定好的。c++的编译时泛型是为每个使用泛型的地方创建一份独立代码,运行时没有泛型概念,c#的运行时泛型意义在于运行时,clr中包含一个泛型类。所以,运行时指定类型是相对编译器,相对运行环境而言的。编码上,都需要预先的定义好泛型的类型。如果你无法确定类型,你可以用ArrayList。
      

  4.   

    Type t = //运行赋值?如果你不嫌麻烦,传个OBJECT过去,然后通过obj.GetType().FullName
    然后一个个去判断他的类型,不建议使用,只是说明有这个方法而已
      

  5.   

    http://topic.csdn.net/u/20090622/21/DF7F7B8A-61CD-4C8F-A964-0FE15377523D.html
      

  6.   

    给你的类或者方法加泛型约束(不能是静态的)
    比如 public void Test<T> where T : IComparable, new()条件可以是接口或者类名,new()必须在最后
    试试
      

  7.   


    我想知道是怎么弄的,差不多的问题,lz能回复下么?http://bbs.csdn.net/topics/390303539?page=1#post-393097718