閱讀英文

共用方式為


編譯器警告 (層級 2) CS0279

'類型名稱' 未實作 '模式名稱' 模式, 因為 '方法名稱' 為靜態或並非公用。

C# 中有幾個依賴已定義模式的陳述式,例如 foreachusing。 例如, foreach 依賴實作可列舉模式的集合類別。 當編譯器由於方法已宣告為 static 或不是 public而無法進行比對時,就會發生這個錯誤 模式中的方法必須是類別的執行個體,而且必須是公用。

範例

下列範例會產生 CS0279:

// CS0279.cs  
  
using System;  
using System.Collections;  
  
public class myTest : IEnumerable  
{  
    IEnumerator IEnumerable.GetEnumerator()  
    {  
        yield return 0;  
    }  
  
    internal IEnumerator GetEnumerator()  
    {  
        yield return 0;  
    }  
  
    public static void Main()  
    {  
        foreach (int i in new myTest()) {}  // CS0279  
    }  
}