1

我想为ConvertAll方法中的方法编写我的扩展方法List<T>。我在下面这样写。

public static List<TOutput> MyConvertAll<TOutput>(this List<T> list, Converter<T, TOutput> converter)
{
}

但它给了我错误:

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

请帮我怎么写?

4

3 回答 3

3

您必须声明类型参数 T。

public static List<TOutput> MyConvertAll<TOutput, T>(this List<T> list, Converter<T, TOutput> converter)
        {
        }
于 2013-06-13T07:00:11.257 回答
2

您需要在方法定义中声明所有泛型类型参数,如下所示:

public static List<TOutput> MyConvertAll<T, TOutput>(this List<T> list, Converter<T, TOutput> converter)
{
}
于 2013-06-13T07:00:15.283 回答
2

您的方法需要在两个参数中是通用的:

public static List<TOutput> MyConvertAll<T,TOutput>(this List<T> list, Converter<T, TOutput> converter)
于 2013-06-13T07:00:45.037 回答