Tengo un problema extraño que no pude resolver. Cuando intento compilar los siguientes corté me sale este error:C# Propiedades en clases base abstractas
'AbstractClass' no implementa miembro de interfaz de 'propiedad' (compilador CS0535 error)
La ayuda en línea me dice que hacer mi AbstractClass abstracto, que se es. ¿Alguien puede decirme dónde me equivoqué?
Saludos Rüdiger
public interface IBase {
string Property { get; }
}
public abstract class AbstractClass : IBase
{
public override string ToString()
{
return "I am abstract";
}
}
public class ConcreteClass : AbstractClass
{
string Property {
get {
return "I am Concrete";
}
}
}
Gracias, eso obviamente lo resuelve. Todavía me pregunto por qué, parece ser una ruptura con la forma habitual Las interfaces se manejan en clases abstractas. –
¿Qué quieres decir?Una subclase de su clase abstracta no necesariamente necesita saber que implementa IBase, solo debe ver a los miembros virtuales y abstractos que puede/debe implementar. – dahlbyk
También deberá declarar 'Property' en' ConcreteClass' con el modificador 'override'. – LukeH