Reputation: 3416
Getting a compile error in C# saying that my child class does not implement an inherited abstract data member.
Structure is essentially this:
public abstract class Transaction
{
public abstract int MyMethod();
}
public abstract class GeneralTransaction : Transaction
{
public override int MyMethod()
{
return 1;
}
}
public class SpecificTransaction : GeneralTransaction
{
}
It is saying that SpecificTransaction is not implementing MyMethod, but why does it have to? The GeneralTransaction class implements it and the SpecificTransaction class inherits from that class?
Upvotes: 1
Views: 5350
Reputation: 5151
I'm affraid that youre structure is more complicated than this. This example works just fine.
class Program
{
static void Main(string[] args)
{
var tr = new SpecificTransaction();
Console.WriteLine(tr.MyMethod()); //shows 1
}
}
public abstract class Transaction
{
public abstract int MyMethod();
}
public abstract class GeneralTransaction : Transaction
{
public override int MyMethod()
{
return 1;
}
}
public class SpecificTransaction : GeneralTransaction
{
}
Upvotes: 2