委托使用场景1,调用委托,可以分发多个方法出去。举例:定义多个通知不同人的信息,例如经理,员工,客户。可以针对性的制定不同的通知,调用委托,可以一次性的群发给他们
委托使用场景2,方法的参数是个方法,例如按钮方法,参数是一个点击事件的方法,可以通过委托实现点击事件的方法
public class Demo : MonoBehaviour
{
SendMessage sendMessage;
//ButtonClick buttonClick;
void Start()
{
sendMessage += SendMessageToManager;
sendMessage += SendMessageToCustomer;
sendMessage();
//常规写法
//CreateButton(buttonClick += MyButtonClick);
//简化写法
CreateButton(MyButtonClick);
}
public void SendMessageToManager()
{
Debug.Log("给经理发信息");
}
public void SendMessageToCustomer()
{
Debug.Log("给客户发信息");
}
public void CreateButton(ButtonClick localButtonClick)
{
localButtonClick();
}
public void MyButtonClick()
{
Debug.Log("按钮点击事件");
}
}
public delegate void SendMessage();
public delegate void ButtonClick();