2010-10-20 62 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 2010-10-20 09:18:58

回答

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)