如果在开发的时候遇到非泛型 类型“IEnumerable”不能与类型参数一起使用,那么就是变量的命名空间没弄对
在 dotnet 里面有 System.Collections.IEnumerable
和 System.Collections.Generic.IEnumerable<>
两个不同的类,带泛型的需要在 System.Collections.Generic
命名空间找到
如果是写了 System.Collections.IEnumerable<Foo>
那么请修改代码里面的命名空间 System.Collections.Generic.IEnumerable<Foo>
就可以通过编译
如果是使用 IEnumerable<Foo>
提示 不能与类型实参一起使用,那么只需要添加 using 就可以
除了 IEnumerable 对于 IEnumerator 也一样,如果遇到非泛型 类型“System.Collections.IEnumerator”不能与类型实参一起使用,那么看代码里面是通过 System.Collections.IEnumerator<Foo>
还是 IEnumerator<Foo>
可以选择添加命名空间还是修改
本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。 欢迎转载、使用、重新发布,但务必保留文章署名 林德熙 (包含链接: https://blog.lindexi.com ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请与我 联系。