我承认,我从Stack Overflow中学到了很多东西。
在on this question之后,我理解了如何创建一个返回整数的解耦后台Thread类,我现在想知道如何使它更通用。
但是我如何更改它(其中“整数”是硬编码的)。我使用一个很长的类名只是为了恶魔般的目的:
type
TSyncMethod = Procedure(ThreadResult: integer) of Object;
TBackgroundThreadWithIntegerResult = class(TThread)
private
FResult: integer;
到通用对手?
答案 0 :(得分:3)
type
TBackgroundThreadWithGenericResult<T> = class(TThread)
private
FResult: T;
public
type
TSyncMethod = Procedure(ThreadResult: T) of Object;
当然,您可以为通用类型选择更精细的类型名称,然后选择T
。为简单起见,我已将TSyncMethod
放入课程中。
用法为TBackgroundThreadWithGenericResult<Integer>.Create(...)
。