Baca dalam bahasa Inggris

Bagikan melalui


Compiler Error CS0449

Batasan 'class' atau 'struct' harus ada sebelum batasan lainnya

Batasan parameter jenis pada jenis atau metode generik harus terjadi dalam urutan tertentu: class atau struct harus terjadi terlebih dahulu, jika ada, kemudian batasan antarmuka apa pun, dan terakhir batasan konstruktor apa pun. Kesalahan ini disebabkan karena batasan class atau struct tidak muncul terlebih dahulu. Untuk mengatasi kesalahan ini, urutkan kembali klausul batasan.

Contoh

Sampel berikut menghasilkan CS0449.

C#
// CS0449.cs  
// compile with: /target:library  
interface I {}  
public class C4
{  
   public void F1<T>() where T : class, struct, I {}   // CS0449  
   public void F2<T>() where T : I, struct {}   // CS0449  
   public void F3<T>() where T : I, class {}   // CS0449  
  
   // OK  
   public void F4<T>() where T : class {}  
   public void F5<T>() where T : struct {}  
   public void F6<T>() where T : I {}  
}