- 委托:将方法作为变量或参数进行传递,并以方法的形式进行执行;
//带参数并且无返回值的委托
public delegate void SayHelloFunc(string name);
namespace CPlusLesson
{
class Test01
{
static void Main(string[] args)
{
//委托的声明:(注意:有参无返回值的委托对应有参无返回值的方法;——要相对应)
SayHelloFunc hel = SayHelloName;
hel("张三");
Console.ReadKey();
}
public static void SayHelloName(string name)
{
Console.WriteLine("你好啊!" + name);
}
}
}
委托链注意:委托方法是无参无返回值的,那么传递的方法也必须是无参无返回值的;(要相匹配)
- hel+=SayHelloPople;
class Test01
{
static void Main(string[] args)
{
//委托的声明:(注意:有参无返回值的委托对应有参无返回值的方法;——要相对应)
SayHelloFunc hel = SayHelloName;
hel += SayHelloPople;
hel("张三");
Console.ReadKey();
}
public static void SayHelloName(string name)
{
Console.WriteLine("你好啊!" + name);
}
public static void SayHelloPople(string p)
{
Console.WriteLine("你好啊!" + p+"老师");
}
}
unity中应用:同上,传递的方法需要与委托方法一致(无参无返回或有参有返回)
注意:传递的参数是一个委托方法,且为无参无返回值方法,所以传递的方法需要为无参无返回值的方法;
public class ClickButton : MonoBehaviour
{
Button bt;
// Start is called before the first frame update
void Start()
{
bt = GetComponent


