无法创建通用方法:找不到“T”

时间:2015-06-06 20:12:50

标签: c# generics compiler-errors ado.net

我正在尝试实现一个返回通用列表(List)的方法,但我不断收到此错误消息:

  

找不到类型或命名空间名称'T'(您是否缺少using指令或程序集引用?)

这是我的方法代码:

public static List<T> doQuery(string query)
{
    SQLiteCommand com = new SQLiteCommand(query, SQLiteManager.connection);
    SQLiteDataReader reader = com.ExecuteReader(CommandBehavior.Default);
    while (reader.Read())
    {
        //other code
    }
}

为什么在这种情况下T不会被识别为通用类型?

1 个答案:

答案 0 :(得分:5)

你需要告诉方法什么是“T”,现在你的方法不知道T是什么。 T在编译时是已知的,语言不能在现场找出类型。

以下是一个示例:static List<T> GetInitializedList<T>(T value, int count)

参考此处:http://www.dotnetperls.com/generic-method