我想在ConvertAll
中为List<T>
方法编写我的扩展方法。我在下面写了这样的内容。
public static List<TOutput> MyConvertAll<TOutput>(this List<T> list, Converter<T, TOutput> converter)
{
}
但它给了我错误:
错误:无法找到类型或命名空间名称“T”(是吗? 缺少using指令或程序集引用?)
请帮我怎么写?
答案 0 :(得分:3)
您必须声明类型参数T。
public static List<TOutput> MyConvertAll<TOutput, T>(this List<T> list, Converter<T, TOutput> converter)
{
}
答案 1 :(得分:2)
您需要在方法定义中声明所有泛型类型参数,如下所示:
public static List<TOutput> MyConvertAll<T, TOutput>(this List<T> list, Converter<T, TOutput> converter)
{
}
答案 2 :(得分:2)
您的方法需要在两个参数中是通用的:
public static List<TOutput> MyConvertAll<T,TOutput>(this List<T> list, Converter<T, TOutput> converter)