比如如下代码,应该怎么创建这个list才对呢class a(){
    public Create(){
        var  lst = new List<this.GetType()>();   //编译错误
    }
}class b() : a{}foo(){ 
    var f=new b();  b.Create();   
}

解决方案 »

  1.   

    这一定报错,因为你没有给定this.GetType()的具体类型     你前面的var 要是有一个具体类型应该差不多  或者后面的括号中也有一个类型  就可以了。
         ----------仅供参考
      

  2.   

    public Create()
    {
            Type generic = typeof(List<>);
            var list = Activator.CreateInstance(generic.MakeGenericType(this.GetType())) as IList;
    }
    用反射可以实现你这个需求,但就像LS说的,这种设计可能不是很好。