2015-02-05 2 views
0

Я хочу узнать, как создать класс коллекции с generics в C#. Что я пытаюсь сделать, это создать класс, где я могу добавить элементы в список с помощью дженерикиC# Класс коллекции с generics

У меня уже есть некоторый код запуска

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

Что не работает? –

+2

Вам нужно изменить 'List.Add (item);' to 'list.Add (item);'. –

+1

Ваш класс должен принимать общий тип параметров следующим образом: 'public class CollectionClass : IEnumerable ' –

ответ

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 it works i был забыт добавить общий после CollectionClass. – Bham

+0

Есть еще одна проблема (я отправлял ответ ...). 'list' - неназначенная ссылка. –

+0

@ MatíasFidemraizer Вы правы, я пропустил это. Обновлено. –

Смежные вопросы