将ConvertAll实现为扩展方法

时间:2015-01-27 15:00:55

标签: c# generics extension-methods

我正在尝试为ConvertAll方法的List类编写扩展方法(至少是一个具有相同签名的方法),我有这个

public static class ListExtensionsClass
    {
        public static List<TOutput> ConvertAll<TOutput>(this List<T> listInstance, Converter<T, TOutput> converter)
        {
           return null;
        }
    }

但我得到error CS0246: The type or namespace name 'T' could not be found (are you missing a using directive or an assembly reference?)

我错过了什么?

编辑:我正在使用的.NET版本没有这个方法,我需要/想要将它作为扩展名编写,这样我就不必修改已经使用该方法的现有代码。

1 个答案:

答案 0 :(得分:5)

您还没有将T定义为类型参数。添加它。

public static List<TOutput> ConvertAll<T, TOutput>(this List<T> listInstance, 
                                                   Converter<T, TOutput> converter)