委托和事件的使用和区别

public delegate void m_delegate();//这里是定义一个委托类型  这里需要声明委托才能+=  m_delegate dele; 然后才能dele+=
public Action m_action;//这里是定义了一个委托  可以直接 += 
public event m_delegate dele;//这个是委托事件  在委托类型前面加上event关键字

Action是unity提供的一种委托类型,可以直接使用。否则就得自己去定义一个委托 delegate void m_delegate();

委托和事件的重要区别就是委托可以在类的外部被调用,而事件只能在类的内部被调用所以一般事件会比较安全,它可以被注册,但不能在外部被调用,这样可以避免空的调用。

你可能感兴趣的:(委托和事件的使用和区别)