閱讀英文

共用方式為


編譯器警告 (層級 2) CS0278

'type' 未實作 'pattern name' 模式。 'method name' 與 'method name' 模稜兩可。

C# 中有幾個依賴已定義模式的陳述式,例如 foreachusing。 例如,foreach 陳述式依賴實作「可列舉」模式的集合類別。

如果編譯器因為模稜兩可而無法比對,就可能發生 CS0278。 比方說,「可列舉」模式要求具有稱為 MoveNext的方法,而您的程式碼可能包含稱為 MoveNext的兩個方法。 編譯器會嘗試尋找一個介面來使用,但仍然建議您判斷並解決模稜兩可的原因。

範例

下列範例會產生 CS0278:

C#
// 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  
   }  
}