Ich verstehe nicht wo hier Kovarianz ins Spiel kommt. Wir leiten doch hier nirgendwo von
TListBasis<T>
ab. Seine Motivation ist dass seine
TList1
und
TList2
-Instanzen auch ein Event haben, dessen Parameter
TBlubb
bzw.
TBla
-Instanzen sind.
Und das ist doch so gegeben, oder?
Delphi-Quellcode:
TListBasis<T: class> = class(TObjectList<T>)
public type
TOnLoadListEvent = TProc<TObject, TListBasis<T>>;
public var
OnLoadList: TOnLoadListEvent;
end;
TBlubb = class(TObject);
TBla = class(TObject);
TList1 = TListBasis<TBlubb>;
TList2 = TListBasis<TBla>;