Tengo la siguiente clase base:no puede anular de bienes protegidos establecer
abstract class Base
{
public abstract object Var
{
get;
protected set;
}
}
Y esta clase derivada:
class Derived : Base
{
public override object Var
{
get {//code here
}
set {//code here -- I get error here!
}
}
}
Pero estoy recibiendo este error:
Cannot change access modifier when overriding 'protected' inherited member 'Var'
I intenté agregar protected
y private
palabras clave antes del conjunto, pero no sirvió de nada. ¿Cómo puedo solucionar esto?
ACTUALIZACIÓN:
La base de clase debe asegurarse de que las subclases proporcionan un valor para Var
en tiempo de creación. Entonces necesito declarar el setter en la clase Base.
Alternativamente, podría declarar una variable de miembro privado para hacer esto y eliminar el setter, pero esa no es una opción como se describe en here.
Oh my god! Estúpido VS! Como dije en mi publicación, probé esto y no sirvió de nada. Me reintenté cuando lo mencionaste, aún no funcionó, volví a ver tu respuesta, volví a compilarla y ¡ya no está! ¿Entonces qué hago ahora? ¿Debo aceptar su respuesta o debería eliminar mi publicación? – atoMerz
@AtoMerZ - Aceptaría la mejor respuesta y seguiría adelante. Como la pregunta tiene respuestas modificadas, necesitará un mod para eliminarla. No vale la pena el problema para nadie. –