gpt4 book ai didi

delphi - 如何将TDictionary作为可选参数传递?

转载 作者:行者123 更新时间:2023-12-03 19:16:49 27 4
gpt4 key购买 nike

如何将TDictionary作为可选参数传递?

例如,如果我在一个类中使用它不起作用:

TMyDict = TDictionary<String, String>;

TTest = class
procedure Render(Id: Integer; Name: String = ''; Variables: TMyDict = nil); //error
end;


我不知道为什么,但是这段代码可以正常工作。但是我不能使用它。

procedure Render(Id: Integer; Name: String = ''; Variables: TMyDict = nil);
begin
// Do something...
end;


有什么建议?

最佳答案

您对实现的声明缺少该类。它应该是:

procedure TTest.Render(Id: Integer; Name: String = ''; Variables: TMyDict = nil);
// ^^^^^^
begin
// Do something...
end;


您也可以考虑在实现中省略默认值。

这是一个完整的程序,可以说明这一点:

program SO16740725;
{$APPTYPE CONSOLE}

uses
Generics.Collections;

type
TMyDict = TDictionary<string, string>;

type
TTest = class
procedure Render(Id: Integer; Name: string=''; Variables: TMyDict=nil);
end;

procedure TTest.Render(Id: Integer; Name: string; Variables: TMyDict);
begin
// Do something...
end;

begin
end.

关于delphi - 如何将TDictionary作为可选参数传递?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16740725/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com