У меня есть код, как это:типов Generics называющих
TServer = class
private
fOnMsgFromServer: TProc<String, String, String>;
public
procedure RegisterOnMsgFromServer(aCallBack: TProc<String, String, String>);
procedure Execute;
end;
procedure TServer.RegisterOnMsgFromServer(aCallBack: TProc<String, String, String>);
begin
fOnMsgFromServer := aCallBack;
end;
procedure TServer.Execute;
begin
fOnMsgFromServer('userName', 'password', 'message');
end;
Проблема в процедуре Execute, когда я хочу поместить аргументы fOnMsgFromServer. «helper» показывает мне (Arg1: string; Arg2: string; Arg3: string), и я просто не знаю, какой параметр есть.
Существует какое-либо решение, чтобы назвать эти аргументы?
Так что в случае словаря или списка невозможно? dict: TDictionary <строка, строка>? – aQuu
Ну, это тип, а не процедура. Таким образом, параметры являются типами, а не аргументами. В любом случае типам присваиваются значащие имена заполнителей. Этот тип - 'TDictionary'. И тогда методы используют это. Например, 'procedure Add (const Key: TKey; const Value: TValue);' Но в любом случае это совсем другое дело, чем то, что вы здесь задали. –