zoukankan      html  css  js  c++  java
  • C# 事件

    C# 事件包含以下对象或元素:

    近期学习了一下C#中事件的用法,因为平时用的不多,所以简单的看了看,做个笔记。

    EventArgs:事件发生时事件处理方法需要的数据(状态等),是一个不包含任何逻辑的一个贫血对象。

    Delegate EventHandler(Object sender,EventArgs):类型是委托类型,是事件处理函数的委托,sender是事件触发的对象。

    event EventHandler Event:类型是事件类型,是一个类型为EventHandler的一个事件委托。一般在需要触发事件的地方进行调用。

    写一个手柄按下X键后角色发动攻击的例子:

    首先添加一个手柄监视的类:

    public class XClickEventArgs : EventArgs
    {
        //状态字段
    }
    
    public class WatchHandle
    {
        public delegate XClickEventHandler(Object sender,EventArgs e);
        public event XClickEventHandler XClickEvent;
        public bool IsXButtonClick(){
            While(1)
            {
                //这里写监视代码,比如不断的查询COM接口状态
                XClickEvent(this,new XClickEventArgs());
            }
        }
    }
    

    接下来写当X键按下后执行角色攻击:

    public class Player{
        private WatchHandle watchHandle;
        public Player(){
            watchHandle = new WatchHandle();
            watchHandle += new XClickEventHandler(OnXClick);
        }
    
        public void OnXClick(object sender, XClickEventArgs e){
            this.Attack();
        }
    }
    
  • 相关阅读:
    给花花看的链接
    Arguments Optional闭包
    对闭包最好的解释
    Everything Be True判断对象是否存在指定的属性且有值
    Binary Agents将二进制句子翻译成英文
    伤情鉴定和伤残鉴定
    Steamroller 数组扁平化处理
    Drop it
    2021年flag-300+道算法~~~
    微服务之玉麟宝典,呕心沥血的日常
  • 原文地址:https://www.cnblogs.com/kakura/p/6264557.html
Copyright © 2011-2022 走看看