Ошибка компилятора CS0546
"метод доступа": переопределение невозможно, так как "свойство" не имеет функции доступа set, доступной для переопределения
Попытка переопределить один из методов доступа для свойства не удалась, так как метод доступа невозможно переопределить. Эта ошибка может произойти, если:
Свойство базового класса не объявлено как virtual.
Свойство базового класса не объявляет метод доступа get или set , который вы пытаетесь переопределить.
Если вы не хотите переопределять свойство базового класса, то можете использовать ключевое слово new перед свойством в производном классе.
Для получения дополнительной информации см. Using Properties.
В приведенном ниже примере возникает ошибка CS0546, так как в базовом классе не объявлен метод доступа set для свойства.
// 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
}
}
Отзыв о .NET
.NET — это проект с открытым исходным кодом. Выберите ссылку, чтобы оставить отзыв: