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 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
}
}
Umpan balik .NET
.NET adalah proyek sumber terbuka. Pilih tautan untuk memberikan umpan balik: