出现错误,找不到类型或命名空间名为'T'(是否缺少using指令或程序集引用?)

11
我遇到了编译错误:"找不到类型或命名空间名为 'T' 的名称(是否缺少 using 指令或程序集引用?)" 以下是我的代码:
static class ExtensionMethods
{
    public static Collection<T> ToCollection(this IEnumerable<T> source)
    {
        Collection<T> sourceCollection = new Collection<T>();

        foreach (T currentSourceInstance in source)
        {
            sourceCollection.Add(currentSourceInstance);
        }

        return sourceCollection;
    }
} 
1个回答

20

将其更改为以下内容:

public static class ExtensionMethods
{
    public static Collection<T> ToCollection<T>(this IEnumerable<T> source)
    {
        Collection<T> sourceCollection = new Collection<T>();

        foreach (T currentSourceInstance in source)
        {
            sourceCollection.Add(currentSourceInstance);
        }

        return sourceCollection;
    }
} 

请注意ToCollection<T>,否则编译器无法理解T的来源。
您可以像这样调用它(其中Thing是此示例中的自定义类型):
var items = new List<Thing>();
var collection = items.ToCollection<Thing>();

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接