Please take a look at my class structure. I think I would like to enjoy inheritance more than is possible.
First there is a base abstract class:
public abstract class PolicyDetailed
{
internal abstract DataContainer GetActiveAsset();
}
Next, there is another abstract class that is generic:
public abstract class PolicyDetailed<T> : PolicyDetailed where T : DataContainer
{
internal new abstract T GetActiveAsset();
}
Finally, there is a certain class of policy. AccidentContainer inherits from DataContainer:
public class PolicyAccident : PolicyDetailed<AccidentContainer>
{
internal override AccidentContainer GetActiveAsset()
{
return null;
}
}
At compile time, I get the following error:
'PolicyAccident' does not implement inherited abstract member 'PolicyDetailed.GetActiveAsset()'
, , . , , : (, PolicyAccident, PolicyTravel ..), PolicyDetailed DataContainer (AccidentContainer, TravelContainer ..). GetActiveAsset , PolicyDetailed. , Datacontainer. ?