サブスクリプションを作成する

サブスクリプションを作成する

サブスクリプションは
Start()
メソッド内に作成します。
ヒント:
新しいメソッドを自動的に挿入するには:
  • Visual Studio で
    +=
    演算子の後にキャレットを置き、
    []
    を 2 回押します。
  • Visual Studio Code では、エディターの提案を参照してください。

この例では、
Session_UserChange
メソッドは
UserChange
イベントハンドラーと
+=
演算子を使用してユーザー変更イベントに購読されます。
public override void Start() { Session.UserChange += Session_UserChange; }
重要: メソッド内の
Stop()
サブスクリプションを常にキャンセルして、メモリー リークを回避します。「サブスクリプションをキャンセルする」を参照してください。
次の例は、
Session_UserChange
メソッドを示しています。
private void Session_UserChange(object sender, UserChangeEventArgs e) { Log.Info(e.newUser.BrowseName); }
sender
イベントのノード起点に対応する
IUAObject
オブジェクト。
e
イベントハンドラーのデータタイプ (この例では
UserChangeEventArgs
) に基づくイベント データを含む C# オブジェクト。

イベントハンドラー

イベントタイプに応じて、異なるイベントハンドラーを使用してサブスクリプションを作成します。
変数イベントの値の変更
変数の値の変更のためにメソッドを購読するには、
VariableChange
イベントハンドラーを使用します。これは
IUAVariable
クラスが提供します。「IUAVariable.VariableChange」を参照してください。
オブジェクトによって生成されたすべてのイベント
オブジェクトによって生成されるすべてのイベントにメソッドを購読するには
UAEvent
イベントハンドラーを使用します。これは
IUAObject
クラスが提供します。「IUAObject.UAEvent」を参照してください。
オブジェクトの特定のイベント
オブジェクトによって生成された特定のイベントにメソッドを購読するには、タイプによって提供される対応するイベントハンドラーを使用します。
この例では、
OnMouseClick
イベントハンドラーは
Button2_OnMouseClick
メソッドを
Button2
が押されるたびに実行します。
OnMouseClick
イベントハンドラーは
Button
クラスから提供されます。
public override void Start() { var button2 = Owner.Get<Button>("Button2"); button2.OnMouseClick += Button2_OnMouseClick; } private void Button2_OnMouseClick(object sender, MouseClickEvent e) { var label2 = Owner.Get<Label>("Label2"); var button = (Button)sender; label2.Text = "Mouse click event on " + button.BrowseName; }
ご質問やご意見
このドキュメントに関するご質問やご意見は、こちらまでお寄せください。 こちらからご意見をお寄せください。
Normal