Baca dalam bahasa Inggris

Bagikan melalui


Kesalahan Kompilator CS0546

'accessor': tidak dapat diganti karena 'property' tidak memiliki pengakses set yang dapat ditimpa

Upaya untuk mengganti salah satu metode pengakses untuk properti gagal karena pengakses tidak dapat diganti. Kesalahan ini dapat terjadi jika:

  • properti kelas dasar tidak dideklarasikan sebagai virtual.

  • properti kelas dasar tidak mendeklarasikan pengakses get atau set yang Anda coba ganti.

Jika Anda tidak ingin mengganti properti kelas dasar, Anda dapat menggunakan kata kunci new sebelum properti di kelas turunan.

Untuk informasi selengkapnya, lihat Menggunakan Properti.

Contoh

Contoh berikut menghasilkan CS0546 karena kelas dasar tidak mendeklarasikan pengakses set untuk properti.

// CS0546.cs  
// compile with: /target:library  
public class a  
{  
   public virtual int i  
   {  
      get  
      {  
         return 0;  
      }  
   }  
  
   public virtual int i2  
   {  
      get  
      {  
         return 0;  
      }  
  
      set {}  
   }  
}  
  
public class b : a  
{  
   public override int i  
   {  
      set {}   // CS0546 error no set  
   }  
  
   public override int i2  
   {  
      set {}   // OK  
   }  
}  

Lihat juga