unity3D C#简单代理使用了解

时间:2015-04-03 00:18:16   收藏:0   阅读:187
代理声明 
using UnityEngine;
using System.Collections;
public class Test1 : MonoBehaviour {
    // Use this for initialization
    public delegate void Mydelegate(string str);
    public void A(Mydelegate myd) {
        //if (myd!=null)
        //{
        //    myd("A begin");
        //}
        if (myd!=null)
        {
            myd("ww");
        }
    }
}

代理调用的函数
using UnityEngine;
using System.Collections;
public class Test : MonoBehaviour
{
    void Start() {
        Test1 test1 = new Test1();
        Test1.Mydelegate tmyd = new Test1.Mydelegate(B); //代理初始化 参数:代理的事件
        test1.A(tmyd); //将代理传递给A方法 该函数直接调用B方法
    }
    void B(string s) {
        Debug.Log("代理的事  打一桶水");
    }
}  

原文:http://blog.csdn.net/tableview/article/details/44839045

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!