switch クラス : Signature(string) セッタ

説明

ハンドラのシグネチャを設定します。

構文

instance.Signature = value;

代入値

クラス説明
stringハンドラのシグネチャ

返り値

無し。

サンプルコード

次のクラス定義があるとします。

1:

class handle

2:

open method void LCHandlerA(dictionary dic)

3:

... // event handler code.

4:

endmethod

5:

open method void LCHandlerB(dictionary dic)

6:

... // event handler code.

7:

endmethod

8:

endclass

Signature セッターの使い方は次のとおりです。

1:

browser b = new browser();

2:

handle h = new handle();

3:

switch sw = b.LoadCompleted(h,"LCHandlerA(dictionary)"); // It sets the signature of the LCHandlerA(dictionary) method.

4:

sw.Signature = "LCHandlerB(dictionary)"; // It changes the signature to the LCHandlerB(dictionary) method.

switch は Signature によって呼び出すべきハンドラを知ります。

実際にイベントが発生すると、switch は Handler(h : handle クラスのインスタンス)からSignature("LCHandlerB(dictionary)")を探し出して、ハンドラとして呼び出します。

注意

設定値は open であり dictionary を引数に持つメソッドのシグネチャである必要があります。

closed メソッドを Signature として設定すると、呼び出し時に例外が発生します。


シグネチャは switch がハンドラを呼び出すための情報です。ハンドラのメソッド名と引数を連結した文字列になります。

ハンドラは dictionary を引数に持つ open メソッドである必要があるので、ハンドラのメソッド名が "handlerName"の場合、シグネチャは次のようになります。


"handlerName(dictionary)"

参照リンク

無し。

Copyright © Cooker All rights reserved.