TRttiRecordType (Delphi)
Contents
Description
This example shows how to get the RTTI available for records methods.
Code
program Program1;
{$APPTYPE CONSOLE}
uses
SysUtils,
Rtti;
type
TKey = record
private
FData: array[0..15] of Byte;
public
function GetByte(Index: Integer): Byte;
// ...
end;
function TKey.GetByte(Index: Integer): Byte;
begin
// ...
end;
var
LContext: TRttiContext;
LType: TRttiType;
LRecord: TRttiRecordType;
LMethod: TRttiMethod;
begin
LContext := TRttiContext.Create;
LType := LContext.GetType(TypeInfo(TKey));
if LType.IsRecord then
begin
LRecord := LType.AsRecord;
{ List all TKey methods }
for LMethod in LRecord.GetMethods do
begin
Writeln(LMethod.ToString);
end;
end;
LContext.Free;
end.
Console Output
function GetByte(Index: Integer): Byte
Uses
- System.Rtti.TRttiType.AsRecord ( fr | de | ja )
- System.Rtti.TRttiType.GetMethods ( fr | de | ja )