Baca dalam bahasa Inggris

Bagikan melalui


Kesalahan Pengompilasi CS0202

foreach mewajibkan jenis pengembalian 'type' dari 'type. GetEnumerator()' harus memiliki metode MoveNext publik dan properti Current publik yang sesuai

Fungsi GetEnumerator, yang digunakan untuk mengaktifkan penggunaan pernyataan foreach, tidak dapat mengembalikan penunjuk atau array; fungsi harus mengembalikan instans kelas yang dapat bertindak sebagai enumerator. Persyaratan yang tepat untuk berfungsi sebagai enumerator termasuk properti Current publik dan metode MoveNext publik.

Catatan

Dalam C# 2.0, pengompilasi akan secara otomatis menghasilkan Current dan MoveNext untuk Anda. Untuk informasi selengkapnya, lihat contoh kode di Antarmuka Generik.

Sampel berikut menghasilkan CS0202:

C#
// CS0202.cs  
  
public class C1  
{  
   public int Current  
   {  
      get  
      {  
         return 0;  
      }  
   }  
  
   public bool MoveNext ()  
   {  
      return false;  
   }  
  
   public static implicit operator C1 (int c1)  
   {  
      return 0;  
   }  
}  
  
public class C2  
{  
   public int Current  
   {  
      get  
      {  
         return 0;  
      }  
   }  
  
   public bool MoveNext ()  
   {  
      return false;  
   }  
  
   public C1[] GetEnumerator ()  
   // try the following line instead  
   // public C1 GetEnumerator ()  
   {  
      return null;  
   }  
}  
  
public class MainClass  
{  
   public static void Main ()  
   {  
      C2 c2 = new C2();  
  
      foreach (C1 x in c2)   // CS0202  
      {  
         System.Console.WriteLine(x.Current);  
      }  
   }  
}