IsEqual イベント

LANSA

IsEqual イベント

コレクションが同じ場合、このイベントが起動されます。

IsEqualイベントは、コレクション内の2つのコンポーネントが同じかどうかコレクションの判断が必要な場合に起動されます。このイベントが処理されない場合、コレクションはコンポーネント参照の一致について比較をします。

以下の例では、コレクション内の2つのコンポーネントを比較します。

Evtroutine Handling(#COLLECTION.IsEqual) Options(*NOCLEARMESSAGES *NOCLEARERRORS) Subject(#Subject) Object(#Object) Equal(#Equal) 


 

コレクションがIsEqualイベントに、コレクションのタイプによって知らせる場合:

1  ほとんどのコレクションは、検索に関する機能が起動されるとイベントに知らせます。IsEqualメソッドは、探す項目の検索に使われます。RemoveなどのメソッドやKeyOfなどのキー付きプロパティは、アクションのオブジェクトが見つかると何度でもイベントを起動します。

2  重複を許可しないコレクション (DictionaryやSetなど) は、Hashイベントを使用してハッシュ兄弟を検出し、IsEqualイベントを使用して兄弟を区別します。これらのコレクションは、InsertでもIsEqualイベントを起動します。

IsEqualはコレクションにコンポーネントを追加し、各コンポーネント内の1つまたは複数の値に基いてこれらの値を検索する場合に便利です。例えば、転送リスト内に一連のEmployeeオブジェクトをまとめ、リストにEmployeeオブジェクトを1回以上追加しないようにしたい場合などです。この場合、従業員のEMPNO値をIsEqual識別子として使うことができます。

IsEqual パラメータ

Object パラメータ

Subject パラメータ

Equal パラメータ