Data.DBXJSONReflect.JSONReflect.Create

提供: RAD Studio API Documentation
移動先: 案内検索

Delphi

constructor Create(IsMarshalOwned: Boolean); overload;
constructor Create(ConverterType: TConverterType;  ReverterType: TReverterType; InterceptorType: TClass = nil; PopulationCustomizerType: TClass = nil; IsMarshalOwned: Boolean = false); overload;

C++

__fastcall JSONReflect(bool IsMarshalOwned)/* overload */;
__fastcall JSONReflect(TConverterType ConverterType, TReverterType ReverterType, System::TClass InterceptorType, System::TClass PopulationCustomizerType, bool IsMarshalOwned)/* overload */;

プロパティ

種類 可視性 ソース ユニット
constructor public
Data.DBXJSONReflect.pas
Data.DBXJSONReflect.hpp
Data.DBXJSONReflect JSONReflect

説明

JSONReflect のインスタンスを作成します。

Create メソッドは、JSONReflect のインスタンスを作成します。Create メソッドには、2 つのオーバーロードがあります。オーバーロードの 1 つは、IsMarshalOwnedBoolean パラメータによって呼び出されます。Create の 2 つ目のオーバーロードは、ConverterTypeReverterTypeInterceptorTypePopulationCustomizerType 、および IsMarshalOwned パラメータとともに呼び出される必要があります。

IsMarshalOwned は、Create コンストラクタで初期化されるフィールドに影響を与えます。フィールドが JSONReflect 属性にマークされていなくて、かつ IsMarshalOwnedTrue に設定されていると、そのフィールドはマーシャリングされて、コンストラクタを初期化されたオブジェクトへの参照を保持します。そのオブジェクトは、そのフィールドが逆シリアル化される前に破棄されます。フィールドが JSONReflect 属性にマークされていて、かつ IsMarshalOwnedFalse に設定されていると、そのオブジェクトが逆シリアル化される前に破棄されることはありませんが、オーバーライドされてメモリ リークとなる可能性があります。デフォルトでは、IsMarshalOwnedTrue となります。

ConverterType は、サポートされている変換コンポーネント型の 1 つを指定します。

ReverterType は、サポートされている逆変換コンポーネント型の 1 つを指定します。

InterceptorType は、型インターセプタを指定します。基本的には TClass です。

PopulationCustomizerType は、逆シリアル化の型を指定します。基本的には TClass で、TJSONPopulationCustomizer のサブクラスとして実装されます。

関連項目