i need a member of a class to be of the same type as the class itself. When i inherit the class, the member should be of the type of the inherited type.
class BaseClass { BaseClass member; }
and
class MyClass : BaseClasse { MyClass member;}
I can achieve this by making BaseClass generic:
class BaseClass
and
class MyClass : BaseClass
but is there a more elegant way?
JustusPosted Jun 9, 2008, 6:15 PM
Mike GoldPosted Jun 8, 2008, 9:24 PM
I would probably just handle it in the constructor. Remember that the base class member can still point to a subtype, so you just need to construct the subtype in the constructor and point it to the member.
e.g.
class MyClass {BaseClass Member; MyClass(){ Member = new MyClass();}