Если вы хотите пойти еще дальше, вот другой подход:
type
TDictionaryHelpers<TKey, TValue> = class
public
class procedure CopyDictionary(ASource, ATarget: TDictionary<TKey,TValue>);
end;
...implementation...
{ TDictionaryHelpers<TKey, TValue> }
class procedure TDictionaryHelpers<TKey, TValue>.CopyDictionary(ASource,
ATarget: TDictionary<TKey, TValue>);
var
LKey: TKey;
begin
for LKey in ASource.Keys do
ATarget.Add(LKey, ASource.Items[ LKey ] );
end;
использование в соответствии с вашим определением Ключ и Значение :
TDictionaryHelpers<TItemKey, TItemData>.CopyDictionary(LSource, LTarget);