編譯器警告 (層級 2) CS0278
更新:2007 年 11 月
錯誤訊息
'type' 未實作 'pattern name' 模式。'method name' 對 'method name' 模稜兩可。
C# 中有數種陳述式需依賴定義的模式,例如 foreach 和 using。例如,foreach 倚賴實作「可列舉」模式的集合類別。
如果編譯器因模稜兩可而無法進行比對時,便會發生 CS0278。例如,「可列舉」模式需要一個稱為 MoveNext 的方法,而您的程式碼可能包含兩個稱為 MoveNext 的方法。編譯器會嘗試尋找要使用的介面,但建議您判斷模稜兩可的原因並解決該問題。
如需詳細資訊,請參閱 HOW TO:使用 foreach 存取集合類別 (C# 程式設計手冊)。
範例
下列範例會產生 CS0278。
// CS0278.cs
using System.Collections.Generic;
public class myTest
{
public static void TestForeach<W>(W w)
where W: IEnumerable<int>, IEnumerable<string>
{
foreach (int i in w) {} // CS0278
}
}