通用列表方法问题

Zac*_*ack 1 c# generics list

当我尝试使用以下签名创建方法时出现错误:

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?)
Run Code Online (Sandbox Code Playgroud)

有谁知道我做错了什么?

提前致谢!

Dar*_*rov 7

T 必须在方法级别声明:

public List<T> CreateList<T>(DataSet dataset)
Run Code Online (Sandbox Code Playgroud)

或在包含类级别:

public class Foo<T>
{
    public List<T> CreateList(DataSet dataset)
    {
        ...
    }
}
Run Code Online (Sandbox Code Playgroud)

但要注意不要在两个地方声明它:

// Don't do this
public class Foo<T>
{
    public List<T> CreateList<T>(DataSet dataset)
    {
        ...
    }
}
Run Code Online (Sandbox Code Playgroud)