zoukankan      html  css  js  c++  java
  • C# 类(14) 事件

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace ConsoleApplication1
    {
        //先在外面定义一个类.
    
        class MyClass
        {
            //委托是事件的前提,所以先定义一个委托
    
            public delegate void Mydelagate(int i);
            // 接着定义事件. 
            public event Mydelagate MyEvent; // event关键字是定义事件. 事件必须用委托
    
            // 让事件在给某个属性赋值的时候触发
            int FHello;
            public int Hello
            {
                get { return FHello; }
                set
                {
                    if (value != FHello)
                    {
                        FHello = value;
                        MyEvent(FHello);
                    }
                }
            }
            //到这里事件就定义完了.但是还缺少让事件关联的方法.
        }
        class Program
        {
            // 这里我们定义一个和事件关联的方法.
            public static void ShowMessage(int i)  //
            {
                if (i == 10)
                { Console.WriteLine("十全十美"); }
                else
                { Console.WriteLine("也许没有十全十美的事"); }
            }
            //然后开始实例上面MyClass这个类
            static void Main(string[] args)
            {
                MyClass My = new MyClass();
                My.MyEvent += new MyClass.Mydelagate(ShowMessage);  //给事件关联方法.事件只能出现在+= 或者 -=的左边.
                //然后我们来试试这个事件, 给Hello属性赋值看看
    
                My.Hello = 10;  // 输出十全十美
                My.Hello = 9;  // 输入也许没有十全十美的事.
            }
        }
    }
  • 相关阅读:
    第零次作业
    第一本书的学习笔记
    第一次作业
    第零次作业
    第一周作业
    第零次作业回复
    第零次作业
    第一周作业
    第0次作业
    第一次作业
  • 原文地址:https://www.cnblogs.com/mdnx/p/2714372.html
Copyright © 2011-2022 走看看