多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
# Compiler Error CS1640 foreach 语句不能对“type”类型的变量进行操作,因为它实现“interface”的多个实例化,请尝试强制转换为特定的接口实例化 此类型从&lt;T&gt; 的两个或更多的实例继承,这意味着不存在 **foreach** 可以使用的类型唯一枚举。指定 IEnumeratorr&lt;T&gt; 的类型,或使用其他循环构造。 下面的示例生成 CS1640: ``` // CS1640.cs using System; using System.Collections; using System.Collections.Generic; public class C : IEnumerable, IEnumerable<int>, IEnumerable<string> { IEnumerator<int> IEnumerable<int>.GetEnumerator() { yield break; } IEnumerator<string> IEnumerable<string>.GetEnumerator() { yield break; } IEnumerator IEnumerable.GetEnumerator() { return (IEnumerator)((IEnumerable<string>)this).GetEnumerator(); } } public class Test { public static int Main() { foreach (int i in new C()){} // CS1640 // Try specifing the type of IEnumerable<T> // foreach (int i in (IEnumerable<int>)new C()){} return 1; } } ```