System.Rtti.TRttiContext
Delphi
TRttiContext = record
private
FContextToken: IInterface;
{$HINTS OFF}
private class var
FGlobalContextCounter: Integer;
FGlobalContextToken: IInterface;
{$HINTS ON}
public
class function Create: TRttiContext; static;
procedure Free;
class procedure KeepContext; static;
class procedure DropContext; static;
function GetType(ATypeInfo: Pointer): TRttiType; overload;
function GetType(AClass: TClass): TRttiType; overload;
function GetTypes: TArray<TRttiType>;
function FindType(const AQualifiedName: string): TRttiType;
function GetPackages: TArray<TRttiPackage>;
end;
C++
struct DECLSPEC_DRECORD TRttiContext
{
private:
System::_di_IInterface FContextToken;
static int FGlobalContextCounter;
static System::_di_IInterface FGlobalContextToken;
public:
static TRttiContext __fastcall Create();
void __fastcall Free();
static void __fastcall KeepContext();
static void __fastcall DropContext();
TRttiType* __fastcall GetType(void * ATypeInfo)/* overload */;
TRttiType* __fastcall GetType(System::TClass AClass)/* overload */;
#ifndef _WIN64
System::DynamicArray<TRttiType*> __fastcall GetTypes();
#else /* _WIN64 */
System::TArray__1<TRttiType*> __fastcall GetTypes();
#endif /* _WIN64 */
TRttiType* __fastcall FindType(const System::UnicodeString AQualifiedName);
#ifndef _WIN64
System::DynamicArray<TRttiPackage*> __fastcall GetPackages();
#else /* _WIN64 */
System::TArray__1<TRttiPackage*> __fastcall GetPackages();
#endif /* _WIN64 */
private:
};
Properties
Type | Visibility | Source | Unit | Parent |
---|---|---|---|---|
record struct |
public | System.Rtti.pas System.Rtti.hpp |
System.Rtti | System.Rtti |
Description
TRttiContext is the cornerstone of the Rtti unit.
Obtain and use the instance of TRttiContext to access type information for all public types in an application and associated packages. Only one instance of TRttiContext is actually created in your application.
TRttiContext exposes methods and properties that allow obtaining TRttiObject instances that represent different RTTI information. All the TRttiObject instances are cached internally and freed when the application terminates.
See Also
Code Examples