REST.JsonReflect.TTypeMarshaller.MarshalConverter
Delphi
procedure MarshalConverter(Data: TObject; Field: string); overload;
procedure MarshalConverter(Data: TObject; Field: string; ConverterEvent: TConverterEvent); overload;
procedure MarshalConverter(Data: TObject; Field: string; ConverterEvent: TJSONInterceptor); overload;
C++
void __fastcall MarshalConverter(System::TObject* Data, System::UnicodeString Field)/* overload */;
void __fastcall MarshalConverter(System::TObject* Data, System::UnicodeString Field, TConverterEvent* ConverterEvent)/* overload */;
void __fastcall MarshalConverter(System::TObject* Data, System::UnicodeString Field, TJSONInterceptor* ConverterEvent)/* overload */;
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
procedure function |
protected | REST.JsonReflect.pas REST.JsonReflect.hpp |
REST.JsonReflect | TTypeMarshaller |
説明
指定オブジェクトの指定フィールドをマーシャリングします。
変換コンポーネント MarshalConverter が指定された場合は、指定された変換コンポーネントを使用します。そうでない場合、MarshalConverter では、指定されたオブジェクト クラスおよびフィールド向けに既に登録されている変換コンポーネントを使用します。
カスタムの変換コンポーネントを指定しない場合は、指定するオブジェクト クラスおよびフィールドに適合する変換コンポーネントが存在することがわかっていれば、MarshalConverter だけを呼び出す必要があります。次のように、HasConverter を使用すると、適合する変換コンポーネントが存在するかどうかを確かめることができます。
Delphi の場合:
if HasConverter(AClass, AFieldName) then
MarshalConverter(AClass, AFieldName);
C++ の場合:
if (HasConverter(AClass, AFieldName))
MarshalConverter(AClass, AFieldName);
MarshalData から MarshalConverter が呼び出されます。