当前位置: 首页 > article >正文

C#笔记 —— 事件

事件的语法

访问修饰符 + event + 委托类型 + 事件名;

例:  public event Action myEvent;

事件的使用

事件的使用跟委托基本上一模一样,

1.但是事件不能在类外部直接赋值,只能使用 += 或 -= 添加或删除函数;

2.事件不能在类外部直接调用,只能在类内部封装后调用

3.事件不能作为函数中的临时变量,委托是可以的。

代码

public class Test2:MonoBehaviour
{
    public Action myFun;

    public event Action myEvent;

    public void MyEventMethod()
    {
        if (myEvent!=null)
        {
            myEvent();
        }
    }

}
public class Test3 : MonoBehaviour
{
    public Test2 test2;
    private void Start()
    {
        test2.myFun += FunTest1;
        test2.myEvent += FunTest2;

        test2.myFun();
        // test2.myEvent();不能直接调用

        test2.MyEventMethod();//只能间接调用

    }
    void FunTest1()
    {
        Debug.Log("测试方法1");
    }
    void FunTest2()
    {
        Debug.Log("测试方法2");
    }
}


http://www.kler.cn/a/384860.html

相关文章:

  • 后台管理系统窗体程序:评论管理
  • 信息化运维方案,实施方案,开发方案,信息中心安全运维资料(软件资料word)
  • 物理验证Calibre LVS | SMIC Process过LVS时VNW和VPW要如何做处理?
  • 数据结构---二叉树(顺序结构),堆(上)
  • 使用 Python 调用云 API 实现批量共享自定义镜像
  • Java的main方法static
  • 第3章 CentOS系统管理
  • ssm063基于SSM框架的德云社票务系统的设计与实现+vue(论文+源码)_kaic
  • vue3 element-plus el-scrollbar 自动滚动
  • Webserver(5.5)解析HTTP请求报文
  • 在PHP中使用UTF-8编码防止乱码需要注意以下几点‌:
  • vue种ref跟reactive的区别?
  • VisionPro —— CogIPOneImgeTool工具详解
  • 【论文速读】| RePD:通过基于检索的提示分解过程防御越狱攻击
  • 10.Node.js连接MongoDb
  • vue3 ts 实现一个下载数据功能(基本功能组件)
  • python下载pdf
  • 【大数据学习 | kafka高级部分】kafka的kraft集群
  • nginx平滑重启和php-fpm平滑重启
  • qt QListWidgetItem详解
  • 计算机网络:网络层 —— 软件定义网络 SDN
  • HarmonyOS Next(鸿蒙星河版)侧载应用
  • VB中如何处理性能优化问题,如减少内存泄漏、提高执行效率等
  • 【Python】图片处理
  • 一招解决Mac没有剪切板历史记录的问题
  • Go八股(Ⅳ)***slice,string,defer***