timer クラス : Signature(string) セッタ
説明
ハンドラのシグネチャを設定します。
構文
instance.Signature = value;
代入値
クラス | 説明 |
string | ハンドラのシグネチャ |
返り値
無し。
サンプルコード
次のクラス定義があるとします。
1: | class handle |
2: | open method void THandlerA(dictionary dic) |
3: | ... // timer handler code. |
4: | endmethod |
5: | open method void THandlerB(dictionary dic) |
6: | ... // timer handler code. |
7: | endmethod |
8: | endclass |
Signature セッターの使い方は次のとおりです。
1: | handle h = new handle(); |
2: | timer tim = new timer(h,"THandlerA(dictionary)", 1000); // It sets the signature of the THandlerA(dictionary) method. |
3: | tim.Signature = "THandlerB(dictionary)"; // It changes the signature to the THandlerB(dictionary) method. |
4: | tim.Start(); |
timer は Signature によって呼び出すべきハンドラを知ります。
設定時間が経過すると、timer は Handler(h : handle クラスのインスタンス)からSignature("THandlerB(dictionary)")を探し出して、ハンドラとして呼び出します。
注意
設定値は open であり dictionary を引数に持つメソッドである必要があります。
closed メソッドを Signature として設定すると、呼び出し時に例外が発生します。
シグネチャは timer がハンドラを呼び出すための情報です。ハンドラのメソッド名と引数を連結した文字列になります。
ハンドラは dictionary を引数に持つ open メソッドである必要があるので、ハンドラのメソッド名が "handlerName"の場合、シグネチャは次のようになります。
"handlerName(dictionary)"
参照リンク
無し。