Hi all,
I have an interface
interface ICar
{
void accelerate(double amt);
void brake(double amt);
double getSpeed();
}
and I create an abstract class
public abstract class GenericCar : ICar
{
protected double _speed;
public abstract void accelerate(double amt);
sealed override public void brake( double amt )
{
if( ( _speed - amt ) < 0.0 )
{
_speed = 0.0;
return;
}
_speed -= amt;
}
sealed override public getSpeed()
{
return _speed;
}
}
Class TestCar : GenericCar
{
//I want to have implementation for accelerate only
//and want to control brake and getSpeed from abstract class
}
I read on MSDN that If I have sealed override then I can access the abstract
classes methods
but it gives me an error "No Suitable method to override"
Please advice,
Stephen
Brian Gideon - 03 Jan 2007 20:03 GMT
> Hi all,
>
[quoted text clipped - 41 lines]
> Please advice,
> Stephen
Stephen,
The sealed and override keywords do not affect access to the method.
You certainly can access a sealed override method from a concrete
class. What you cannot do is redefine it's implementation since it is
marked as sealed. The error message leads me to believe that you were
trying to override brake and getSpeed in TestCar. If you want to
override those methods in TestCar then don't mark them as sealed in
GenericCar.
Brian
stephen - 04 Jan 2007 17:51 GMT
Thanks Brian and Architect,
I read an article that uses New Keyword and I tried it and it worked but I
have to test whether you can override it in the derived class.
Thanks for the info,
Stephen
>> Hi all,
>>
[quoted text clipped - 54 lines]
>
> Brian
Architect - 03 Jan 2007 20:26 GMT
Please show the code where you get the error.
Regards,
Valentin Ivanov.
> Hi all,
>
[quoted text clipped - 41 lines]
> Please advice,
> Stephen