구독 만들기

구독 만들기

Start()
메서드 내에서 구독을 만듭니다.
팁:
새 메서드를 자동으로 삽입하려면:
  • Visual Studio에서
    +=
    연산자 뒤에 캐럿을 놓고
    키를 두 번 누릅니다.
  • 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# 개체입니다.

이벤트 처리기

이벤트 유형에 따라 다양한 이벤트 처리기를 사용하여 구독을 만듭니다.
변수의 값 변경 이벤트
변수의 값 변경에 대한 메서드를 구독하려면
IUAVariable
클래스에서 제공하는
VariableChange
이벤트 처리기를 사용합니다. IUAVariable.VariableChange 항목을 참조하십시오.
개체에 의해 생성된 모든 이벤트
개체에서 생성된 모든 이벤트에 메서드를 구독하려면
IUAObject
클래스에서 제공하는
UAEvent
이벤트 처리기를 사용합니다. IUAObject.UAEvent 항목을 참조하십시오.
개체의 특정 이벤트
개체에서 생성된 특정 이벤트에 메서드를 구독하려면 유형에서 제공하는 해당 이벤트 처리기를 사용합니다.
이 예에서
OnMouseClick
이벤트 처리기는
Button2
를 누를 때마다
Button2_OnMouseClick
메서드를 실행합니다.
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