đây là một đoạn hiển thị những gì tôi đang cố gắng để đạt được:Giá trị chuyển đổi loại <T> thành Biến thể, có thể không?
type
TMyObject<T> = class (TObject)
function GetVarType(Value: T): TVarType;
end;
function TMyObject<T>.GetVarType(Value: T): TVarType;
var
TmpValue: Variant;
begin
TmpValue := Variant(Value); //Invalid typecast
Result := VarType(TmpValue);
end;
Tôi biết rằng apporach trên với định kiểu là ngây thơ nhưng tôi hy vọng bạn sẽ có được ý tưởng. Tôi muốn thay thế nó bằng một số cơ chế chuyển đổi.
TMyObject sẽ luôn có loại đơn giản như Số nguyên, Chuỗi, Đơn, Đôi.
Mục đích của chuyển đổi như vậy là hàm VarType cung cấp cho tôi hằng số nguyên cho từng loại đơn giản mà tôi có thể lưu trữ ở một nơi khác.
Tôi muốn biết liệu có thể chuyển đổi như vậy không?
Cảm ơn thời gian của bạn.
+1, tôi ao ước C++ mẫu trong Delphi ... –
@seth Tôi không biết bạn là một người sử dụng delphi Tôi luôn luôn có bạn xuống như một niềng răng xoăn kinda guy –
Thông thường nhưng không độc quyền.Tôi sử dụng Delphi như là một phiên bản tạo ra có thể thực thi bản địa của C# (không thể đứng không –