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)"

参照リンク

無し。

Copyright © Cooker All rights reserved.