facebook twitter hatena line email

「Unity/Csharp/ラムダ式」の版間の差分

提供: 初心者エンジニアの簡易メモ
移動: 案内検索
(AddListenerの場合)
(AddListenerの場合)
 
行30: 行30:
 
<pre>
 
<pre>
 
Button button = GameObject.Find("Button").GetComponent<Button>();
 
Button button = GameObject.Find("Button").GetComponent<Button>();
button.onClick.AddListener(() => { OnClick(); });
+
button.onClick.AddListener(() => {  
public void OnClick() {
+
 
     Debug.Log("click");
 
     Debug.Log("click");
}
+
});
 
</pre>
 
</pre>

2022年9月4日 (日) 16:32時点における最新版

メソッドの場合

通常

public void Hoge() {
    Debug.Log("hoge");
}

ラムダ式

public void Hoge() => Debug.Log("hoge");

AddListenerの場合

通常

Button button = GameObject.Find("Button").GetComponent<Button>();
button.onClick.AddListener(OnClick);
public void OnClick() {
    Debug.Log("click");
}

ラムダ式

Button button = GameObject.Find("Button").GetComponent<Button>();
button.onClick.AddListener(() => OnClick());
public void OnClick() {
    Debug.Log("click");
}

ラムダ式(複数処理の場合は{}で囲んで;で処理の続きを記述)

Button button = GameObject.Find("Button").GetComponent<Button>();
button.onClick.AddListener(() => { 
    Debug.Log("click");
});