最近のアクセス:
Clone メソッド - SDT

新しいメモリ領域を作成し、変数データをその領域にコピーします。

構文

&VarBasedOnSTD1 = &VarBasedOnSTD2.Clone()

入力値の説明:

&VarBasedOnSTD1、&VarBasedOnSTD2 
    コレクションであるかどうかにかかわらず、SDT に基づく変数です。

適用範囲

ジェネレーター: .NET .NET Framework Java、Ruby (GeneXus X Evolution 3 まで)、Visual FoxPro (GeneXus X Evolution 3 まで)

説明

このメソッドは常に変数に適用する必要があります。唯一の例外は、Add メソッド内です。次に例を示します:
   &VarBasedOnSTDCollection1.add(&VarBasedOnSTDCollection2.clone()) 


Clone メソッドと New 演算子

Clone メソッドには、新しいメモリ領域の作成 (New 演算子が実行する操作と同じ) と、各 SDT 要素値の割り当てが含まれます。
次に例を示します:
&VarBasedOnSTD1, &VarBasedOnSTD2.clone()  
これは次の記述と同等です:
&VarBasedOnSTD1 = New()
&VarBasedOnSTD1.element1=&VarBasedOnSTD2.element1
&VarBasedOnSTD1.element2=&VarBasedOnSTD2.element2
つまり、Clone メソッドを使用する利点は、新しいメモリ領域を作成するだけでなく、各 SDT 要素の自動コピーを作成し、割り当てを行う必要がないことです。
: &VarBasedOnSTD1 = &VarBasedOnSTD2 の割り当ては両方の変数を同じメモリ領域にリダイレクトし、どちらかの変数を変更すると、もう一方も変更されます。

考慮事項

  • SDT 内にサブ構造がある場合 (コレクションかどうかに関わらず)、Clone メソッドでサブ構造の新しいインスタンス (浅いコピー) が作成されることはありません。各サブ構造については、明示的に新規作成または複製を行う必要があります。
  • SDT 内にコレクションではない定義済みのサブ構造がある場合は、Clone メソッドは有効ではありません。

参考情報

Add メソッド
New 演算子 (SDT)
Structured Data Type (SDT) オブジェクト



サブページ
Created: 14/09/18 03:45 by Admin Last update: 24/03/25 23:58 by Admin
カテゴリ
Powered by GXwiki 3.0