【发布时间】:2016-11-08 17:14:09
【问题描述】:
我尝试从 Tdictionary 继承,但不知何故默认比较器丢失了。这就是我本质上所做的:
type
TinpVar = class
end;
TinputVars = class(Tdictionary<string,TinpVar>)
end;
TLVRvars = class(TinputVars)
constructor create;
end;
constructor TLVRvars.create;
begin
inherited;
end;
var LVRvars : TLVRvars;
begin
LVRvars:=TLVRvars.create;
通过这种结构,我在向 LVRvars 添加键/值对时得到了一个 AV。最终我发现可以通过将继承类的构造函数改为
constructor TLVRvars.create;
begin
inherited create;
end;
我不明白为什么我必须这样做。虽然我的问题解决了,但我还是想知道。
【问题讨论】:
-
你之前有没有构造函数?
标签: delphi generics inheritance