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

    using System;
    using System.Collections;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Linq;
    using System.Net.NetworkInformation;
    using System.Text;
    using System.Threading.Tasks;
    namespace CSharpStudy
    {


        class Program
        {
            static void Main(string[] args)
            {
                Calculator calculator = new Calculator();
                CalculatorManager calculatorManager = new CalculatorManager();
                calculator.MyCalculate += calculatorManager.Add;
                calculator.Calculate(2100);
                calculator.MyCalculate += calculatorManager.Substract;
                calculator.Calculate(100100);
                Console.ReadKey();
            }

        }
        public class Calculator
        {
            public delegate void CalculateEventhandler(object sender, CalculateEventArgs e);
            public event CalculateEventhandler MyCalculate;
            public virtual void OnCalculate(CalculateEventArgs e)
            {
                if (MyCalculate != null)
                {
                    MyCalculate(this, e);
                }
            }
            public void Calculate(int x, int y)
            {
                CalculateEventArgs e = new CalculateEventArgs(x, y);
                OnCalculate(e);
            }
            public class CalculateEventArgs : EventArgs
            {

                public readonly int x, y;

                public CalculateEventArgs(int x, int y)
                {
                    this.x = x;
                    this.y = y;
                }

            }
        }
        public class CalculatorManager
        {

            public void Add(object sender, Calculator.CalculateEventArgs e)
            {
                Console.WriteLine(e.x + "+" + e.y);
            }
            public void Substract(object sender, Calculator.CalculateEventArgs e)
            {

                Console.WriteLine(e.x + "-" + e.y);
            }


        }

    }
  • 相关阅读:
    设计模式 享元模式(池化技术)
    设计模式 混合模式(整体部分模式)
    设计模式 适配器模式
    Flex3示例、 安装 、注册码
    VS2010错误
    转载:glut.h 与 stdlib.h中 的exit()重定义问题的解决
    宿迁软件QQ群(109233721)
    百度地图 开发API接口啦
    Sublime Text 插件个人使用总结&推荐
    sublime text2 使用安装插件中文乱码问题解决
  • 原文地址:https://www.cnblogs.com/shidengyun/p/5576933.html
Copyright © 2011-2022 走看看