System.Rtti.TRttiContext

From RAD Studio API Documentation
Jump to: navigation, search

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