Data.DBXJSONReflect.JSONReflect.Create
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 つ目のオーバーロードは、ConverterType 、ReverterType 、InterceptorType 、PopulationCustomizerType 、および IsMarshalOwned パラメータとともに呼び出される必要があります。
IsMarshalOwned は、Create コンストラクタで初期化されるフィールドに影響を与えます。フィールドが JSONReflect 属性にマークされていなくて、かつ IsMarshalOwned が True に設定されていると、そのフィールドはマーシャリングされて、コンストラクタを初期化されたオブジェクトへの参照を保持します。そのオブジェクトは、そのフィールドが逆シリアル化される前に破棄されます。フィールドが JSONReflect 属性にマークされていて、かつ IsMarshalOwned が False に設定されていると、そのオブジェクトが逆シリアル化される前に破棄されることはありませんが、オーバーライドされてメモリ リークとなる可能性があります。デフォルトでは、IsMarshalOwned は True となります。
ConverterType は、サポートされている変換コンポーネント型の 1 つを指定します。
ReverterType は、サポートされている逆変換コンポーネント型の 1 つを指定します。
InterceptorType は、型インターセプタを指定します。基本的には TClass です。
PopulationCustomizerType は、逆シリアル化の型を指定します。基本的には TClass で、TJSONPopulationCustomizer のサブクラスとして実装されます。