Baca dalam bahasa Inggris

Bagikan melalui


Compiler Error CS0308

Jenis-atau-metode non-generik 'identifier' tidak dapat digunakan dengan argumen jenis.

Metode atau jenis tidak generik, tetapi digunakan dengan argumen jenis. Untuk menghindari kesalahan ini, hapus tanda kurung sudut dan jenis argumen, atau deklarasikan ulang metode atau jenis sebagai metode atau jenis generik.

Contoh berikut menghasilkan CS0308:

// CS0308a.cs  
class MyClass  
{  
   public void F() {}  
   public static void Main()  
   {  
      F<int>();  // CS0308 – F is not generic.  
      // Try this instead:  
      // F();  
   }  
}  

Contoh berikut juga menghasilkan CS0308. Untuk mengatasi kesalahan, gunakan direktif "using System.Collections.Generic."

// CS0308b.cs  
// compile with: /t:library  
using System.Collections;  
// To resolve, uncomment the following line:  
// using System.Collections.Generic;  
public class MyStack<T>  
{  
    // Store the elements of the stack:  
    private T[] items = new T[100];  
    private int stack_counter = 0;  
  
    // Define the iterator block:  
    public IEnumerator<T> GetEnumerator()   // CS0308  
    {  
        for (int i = stack_counter - 1 ; i >= 0; i--)  
        yield return items[i];  
    }  
}