Chyba kompilátoru CS0546
'accessor' : nemůže přepsat, protože vlastnost nemá přepisovatelného objektu set accessor
Pokus o přepsání jedné z metod přístupového objektu pro vlastnost se nezdařil, protože přístup nelze přepsat. K této chybě může dojít v následujících případech:
vlastnost základní třídy není deklarována jako virtuální.
vlastnost základní třídy deklaruje get nebo set accessor, který se pokoušíte přepsat.
Pokud nechcete přepsat vlastnost základní třídy, můžete použít nové klíčové slovo před vlastností v odvozené třídě.
Další informace naleznete v tématu Použití vlastností.
Následující ukázka vygeneruje CS0546, protože základní třída deklaruje objekt set accessor pro vlastnost.
// 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
}
}
Zpětná vazba k produktu .NET
.NET je open source projekt. Vyberte odkaz pro poskytnutí zpětné vazby: