TObjectList<T> contains a common constraint , which T is a class. A type declaration is as follows:
type TObjectList<T: class> = class(TList<T>) ... end;
You might think that restrictions are inherited, but it is not. And so you need to include the restriction in your class. Set the restriction as follows:
type TSearchableObjectList<T: class> = class(TObjectList<T>) ... end;
source share