如何创建一个只包含基本类型的通用类?
TField<T: xxx> = class
private
FValue: T;
public
property Value: T read FValue write FValue;
end;
我不需要接口、类等,我只需要布尔值、整数、浮点数等...
或者还有其他方法可以做到这一点吗?
谢谢
TField<T: record> = class
private
FValue: T;
public
property Value: T read FValue write FValue;
end;
我不确定我是否理解您的问题,但如果您想要一个可以保存不同基本数据类型的变量,您可能需要查看 Variant数据类型。
您不需要泛型;-)
因此,很可能无法将通用类限制为原始类型(与C#不同,后者允许“where T: struct”)。Delphi/Win32类型系统没有根(内置的简单类型、记录和类没有共同的祖先),原始类型不能/不实现接口
如果你想限制可以用于泛型的类型,那么你只需在创建时检查有效类型即可吗?