NGUI UIEventListener通过反射打印触发的事件脚本名和方法名
public delegate void VoidDelegate (GameObject go);
public VoidDelegate onClick;
void OnClick ()					{
    if (onClick != null) {
        GameLogger.UI.Log(onClick.Method.ReflectedType.FullName + "----->" + onClick.Method.Name);
        onClick(gameObject);
    }
}

请只留意Log后面的()里面的内容

注意要理解的是,因为onClick是一个UIEventListener->VoidDelegate的变量,所以如果你直接用onClick.GetType()来获取是只会获取到VoidDelgate的。

可以想一下,这个onClick不同的,那就是它注册的方法了,所以要通过这个注册的方法的反射类型来找到具体的注册类

onClick.Method就是获取这个委托所代表的方法


首页 我的博客
粤ICP备17103704号