an abstract class inherits another abstract class issue
.net, abstract-class, c#, encapsulation, inheritance
Solution
The two immediate problems I see is that your final `ExchangeFileAttachment` class is declared `abstract`, so you'll never be able to instantiate it. Unless you have another level of inheritance you are not showing us, calling it will not be possible - there's no way to access it. The other problem is that `BaseFileAttachment` has a property that is hiding the `GetName()` in `BaseAttachment`. In the structure you are showing us, it is redundant and can be omitted. So, the 'corrected' code would look more like:
public abstract class BaseAttachment
{
public abstract string GetName();
}
public abstract class BaseFileAttachment : BaseAttachment
{
}
public class ExchangeFileAttachment : BaseFileAttachment
{
string name;
public override string GetName()
{
return name;
}
}
I put corrected in quotes because this use-case still does not make a ton of sense so I'm hoping you can give more information, or this makes a lot more sense on your end.
Problem
I have an inheritance schema like below: ``` public abstract class BaseAttachment { public abstract string GetName(); } public abstract class BaseFileAttachment:BaseAttachment { public abstract string GetName(); } public class ExchangeFileAttachment:BaseFileAttachment { string name; public override string GetName() { return name; } } ``` I basically want to call GetName() method of the ExchangeFileAttachment class; However, the above declaration is wrong. Any help with this is appreciated. Thanks