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就是获取这个委托所代表的方法