Разрешено ли / поддерживается ли наследование классов TObjectDictionary в Delphi Berlin?
У меня есть несколько классов вида
TClass1 = class( TObject )
ID : Cardinal;
end;
TDictionaryClass = class( TObjectDictionary<Cardinal, TClass1>)
end;
TClass2 = class( TClass1 )
end;
TDictionaryClass2 = class( TDictionaryClass )
end;
var
dc2 : TDictionaryClass2;
При создании и добавлении объектов типа TClass2 в TDictionaryClass2 все видятчтобы работать нормально, и экземпляр TDictionaryClass2 имеет правильное количество.Однако такие операции, как dc2.Keys.ToArray, приводят к нарушениям доступа.У меня есть много базовых функций в TDictionaryClass, поэтому приведенная выше конструкция удобна, но допустима ли она, и если да, то что делает массив Keys недоступным?
Если это невозможно, существует ли другой механизм для объявлениябазовый класс с большинством общих функциональных возможностей, сохраняя при этом типизированный словарь внешнего вида потомков?