【Unity&C#】lambda函数

以下两段代码等价。

 

未使用lambda函数的代码:

private Button PB;
 
private void Start() {
    PB = GameObject.Find("PButton").GetComponent<Button>();
    PB.onClick.AddListener(Foo);
}
 
public void Foo() {
    SP("...");
}
 
public void SP(string PN) {}

使用lambda函数的代码:

private Button PB;
 
private void Start() {
    PB = GameObject.Find("PButton").GetComponent<Button>();
    PB.onClick.AddListener(() => SP("..."));
}
 
public void SP(string PN) {}

 

问题地址:

https://forum.unity3d.com/threads/why-wont-onclick-addlistener-accept-a-field.357791/

posted @ 2017-03-16 04:41  Liez  阅读(498)  评论(0编辑  收藏  举报