unity 委托delegate的理解

扶醉桌前 提交于 2020-01-27 05:27:54

unity中的委托类似于c/c++中的函数指针

直接上代码

public class delegateTest : MonoBehaviour
{
    // Start is called before the first frame update
     void Start()
    {
        //用法1
        GoodMorning(GoodMorningChinese);
        
        //用法2
        m = GoodMorningEnglish;
        m();

        //用法3 匿名委托
        GoodMorning(delegate { Debug.Log("aaaaa"); });

    }

    delegate void MorningLanguage();//声明一个委托 (类似函数指针,指向参数为空,返回值为void的函数)
    MorningLanguage m; //实例化一个委托的对象
    void GoodMorning(MorningLanguage ml)//
    {
        ml();//参数是空的
    }
    void GoodMorningChinese()//某一个参数为空,返回值为void的函数
    {
        Debug.Log("早上好");
    }
    void GoodMorningEnglish()
    {
        Debug.Log("good morning");
    }
}

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!