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:
};
Propriétés
Type | Visibilité | Source | Unité | Parent |
---|---|---|---|---|
record struct |
public | System.Rtti.pas System.Rtti.hpp |
System.Rtti | System.Rtti |
Description
TRttiContext est la première pierre de l'unité Rtti.
Obtenez et utilisez l'instance de TRttiContext pour accéder aux informations de type pour tous les types publics d'une application et des packages associés. Une seule instance de TRttiContext est réellement créée dans votre application.
TRttiContext expose les méthodes et les propriétés permettant d'obtenir les instances de TRttiObject qui représentent différentes informations RTTI. Toutes les instances de TRttiObject sont mises en cache en interne et libérées quand l'application se termine.
Voir aussi
Exemples de code