2015-02-05 149 views
0

我想学习如何在C#中用泛型创建一个集合类。 什么,我试图做的就是创建一个类,我可以使用泛型 C#与泛型集合类

项目添加到列表我已经有一些启动代码

public class CollectionClass : IEnumerable<T> 
{ 
    private List<T> list; 
    /** 
    * Method: Add 
    * @param Object item to add 
    */ 
    public void add(T item) 
    { 
     List.Add(item); 
    } 
} 

,但我不能使它发挥作用。有人能给我一些建议或帮助吗?您按顺序需要为你的代码

+1

什么是不工作? – 2015-02-05 15:59:40

+2

您需要将'List.Add(item);'更改为'list.Add(item);'。 – 2015-02-05 16:00:03

+1

你的类必须接受这样的泛型类型参数:'public class CollectionClass :IEnumerable ' – 2015-02-05 16:00:07

回答

6

三件事编译:

  1. 你需要一个通用的T参数添加到您的类

    public class CollectionClass<T> : IEnumerable<T> 
    
  2. 您需要访问list,而不是List

    public void Add(T item) 
    { 
        list.Add(item); 
    } 
    
  3. 初始化(可能通过构造函数)您list变量:

    public CollectionClass 
    { 
        list = new List<T>(); 
    } 
    
+0

Thx它的工作原理我忘记了在CollectionClass之后添加泛型。 – Bham 2015-02-05 16:07:58

+0

还有一个问题(我发布了一个答案...)。 'list'是一个未分配的引用。 – 2015-02-05 16:09:33

+0

@MatíasFidemraizer你是对的,我错过了。更新。 – 2015-02-05 16:12:23