Błąd kompilatora CS0546
"accessor" : nie można zastąpić, ponieważ właściwość nie ma przesłonięć zestawu dostępu
Próba zastąpienia jednej z metod dostępu dla właściwości nie powiodła się, ponieważ nie można zastąpić metody dostępu. Ten błąd może wystąpić, jeśli:
właściwość klasy bazowej nie jest zadeklarowana jako wirtualna.
właściwość klasy bazowej nie deklaruje metody pobieranialub ustawiania metody dostępu, którą próbujesz przesłonić.
Jeśli nie chcesz zastąpić właściwości klasy bazowej, możesz użyć nowego słowa kluczowego przed właściwością w klasie pochodnej.
Aby uzyskać więcej informacji, zobacz Using Properties (Używanie właściwości).
Poniższy przykład generuje CS0546, ponieważ klasa bazowa nie deklaruje zestawu dostępu dla właściwości .
// 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
}
}
Opinia o produkcie .NET
.NET to projekt typu open source. Wybierz link, aby przekazać opinię: