2010-10-20 3 views
1

Я получаю сообщение об ошибке при попытке создать метод со следующей подписью:Общий список Метод Проблема

public List<T> CreateList(DataSet dataset) 


Error 1 The type or namespace name 'T' could not be found (are you missing a using directive or an assembly reference?) 

Кто-нибудь знает, что я делаю неправильно?

Заранее благодарен!

+0

Спасибо за все ответы, помогли мне загрузить! – Zack

ответ

7

T должен быть объявлен или на уровне методы:

public List<T> CreateList<T>(DataSet dataset) 

или вмещающий уровне класса:

public class Foo<T> 
{ 
    public List<T> CreateList(DataSet dataset) 
    { 
     ... 
    } 
} 

Но будьте осторожны, чтобы не объявит его в обоих местах:

// Don't do this 
public class Foo<T> 
{ 
    public List<T> CreateList<T>(DataSet dataset) 
    { 
     ... 
    } 
} 
3

Поскольку вы определенно в обобщенном методе заполнитель типа должен быть частью декларации метода, а не только его возвращаемого типа. Попробуйте:

public List<T> CreateList<T>(DataSet dataset) 
Смежные вопросы