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();
        }
    }
    
  • 相关阅读:
    九度oj 题目1051:数字阶梯求和
    九度oj 题目1472:求两个多项式的和
    九度oj 题目1173:查找
    九度oj 题目1447:最短路
    九度oj 题目1104:整除问题
    [Luogu] 维护序列
    [Luogu] 计算系数
    [Luogu] 聪明的质监员
    [Luogu] Mayan游戏
    [Luogu] 选择客栈
  • 原文地址:https://www.cnblogs.com/kakura/p/6264557.html
Copyright © 2011-2022 走看看