Baca dalam bahasa Inggris

Bagikan melalui


Kesalahan Pengompilasi CS0460

Batasan untuk mengambil alih dan metode implementasi antarmuka eksplisit diwarisi dari metode dasar, sehingga tidak dapat ditentukan secara langsung

Ketika metode generik yang merupakan bagian dari kelas turunan mengambil alih metode di kelas dasar, Anda boleh tidak menentukan batasan pada metode yang diambil alih. Metode ambil alih di kelas turunan mewarisi batasannya dari metode di kelas dasar.

Contoh

Sampel berikut menghasilkan CS0460.

// CS0460.cs  
// compile with: /target:library  
class BaseClass
{  
   BaseClass() { }  
}  
  
interface I  
{  
   void F1<T>() where T : BaseClass;  
   void F2<T>() where T : struct;  
   void F3<T>() where T : BaseClass;  
}  
  
class ExpImpl : I  
{  
   void I.F1<T>() where T : BaseClass {}   // CS0460  
   void I.F2<T>() where T : class {}  // CS0460  
}