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.
Sampel berikut menghasilkan CS0449.
// 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 {}
}
Umpan balik .NET
.NET adalah proyek sumber terbuka. Pilih tautan untuk memberikan umpan balik: