On 14-07-09 12:57 PM, Sven Barth wrote:
Am 09.07.2014 18:43 schrieb "Timothy Groves"
<the.tail.kin...@gmail.com <mailto:the.tail.kin...@gmail.com>>:
>
> Is there any way to override the type of a property? As an example,
if I have written a list class:
>
> type
> tList = class (tObject)
> private
> t_current : tObject;
> t_items : array of tObject;
> public
> property Current : tObject read t_current write t_current;
> end;
>
> (this example is clearly not complete) and I want to create a
descendant type that uses a different object, without worrying about
typecasting. Is there a way to override Current? I tried generics,
but using such renders me unable to access the list items' properties,
making it impossible to sort the list.
Normally you simply declare the property anew in your child class.
Look at TObjectList from unit contnrs for an example.
In your specific case you'll need a Getter-method that returns
"TWhatEverSubclass(inherited Current)".
Thanks, that helped me figure it out.
What exactly is your problem with using generics?
I can't access properties of whatever data type I used to specialize.
So it's difficult to write a class that contains a list, that allows me
to sort that list.
_______________________________________________
fpc-pascal maillist - fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal