Могу ли я объявить словарь с динамическим массивом в качестве типа значения?

Я хотел бы иметь функцию, которая принимает словарь строк, массив вариантов. Так что это можно назвать с помощью:

  searchDictionary := TDictionary<string, array of variant>;
  searchDictionary.Add('KEY_NAME', ['X01%', '%D01']);
  aValue := TDtoClass.Search(searchDictionary)

В настоящее время я достигаю этого с помощью

  searchDictionary := TDictionary<string, TList<variant>>.Create;
  searchDictionary.Add('BIN_NAME', TSearch.Values(['X01%', '%D01']));

где Tsearch — класс, раскрывающий:

class function TSearch.Values(const arguments: array of variant): TList<variant>;
var
list : TList<variant>;
item: variant;
begin
    list := TList<variant>.Create;
    for item in arguments do
    begin
      list.Add(item);
    end;
    Result := list;           
end;

Что я хотел бы сделать, так это:

searchDictionary.Add('BIN_NAME', ['X01%', '%D01']);

вместо:

searchDictionary.Add('BIN_NAME', TSearch.Values(['X01%', '%D01']));

Любая помощь будет оценена.

5
задан ain 30 June 2012 в 08:16
поделиться