I have a class MyClass, which is not generic and contains and does something with an arbitrary TList. I wish to replace the TList with the generic TList, but MyClass has to stay non-generic. Since Delphi is invariant something like this doesn't work:
list1: TList<TObject>
list2: TList<MyType> //MyType extends TObject
[...]
list1 := list2
Furthermore there seems to be no non-generic Superclass of TList, just IEnumerable.
Is there a way to declare a placeholder/wildcard for TList with an arbitrary T?