`
phoebird
  • 浏览: 117715 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

事件定义、订阅、引发事件 简单 实例

    博客分类:
  • C#
J# 
阅读更多
using System;
using System.Collections.Generic;
using System.Text;
//事件允许一个对象将方式的事件通知其他对象,将发生的事件通知其他的对象称为发行者,同时对象也可以订阅事件,该对象
//称为订阅者
namespace interfaceDemo
{
//事件处理分为四步:
    //1、定义事件
    //2、使用委托定义事件
    //3、订阅事件
    //4、引发事件

   //语法:[访问修饰符]  event  委托名  事件名
    class EventTest
    {

        public delegate void MathOp(int i, int j);//定义委托
        public event MathOp eventMath;//事件定义
        static void Main(string[] args)
        {
            EventTest et = new EventTest();//对象实例化
            et.eventMath += new MathOp(Add);//订阅事件,实际上是添加一个指向方法的委托,当事件引发时将通过委托调用此方法,一个时间有多个订阅者,即通过委托可以将多个方法添加到某个事件中
            Console.WriteLine("请输入两个正数:");
            int m = int.Parse(Console.ReadLine());
            int n = int.Parse(Console.ReadLine());
            if (m > 0 & n > 0)//满足一定条件,引发事件
            {
                et.eventMath(m, n);
            }
            Console.ReadLine();
          
        }

        public static void Add(int i, int j)
        {
            Console.WriteLine("{0}+{1}={2}", i, j, i + j);
        
        }
    }
}

 

分享到:
评论

相关推荐

    C#事件实例,C#事件实例,C#事件实例

    在C#中,事件是委托类型的实例,它保护了事件源(引发事件的对象)和事件处理程序(响应事件的代码)之间的耦合。 二、事件的特点 1. 安全性:事件提供了一种安全的方式来传递信息,防止不相关的代码直接调用事件...

    NET事件小实例

    5. **订阅和取消订阅事件(Subscribing and Unsubscribing to Events)**:使用`+=`运算符订阅事件,将事件处理程序添加到事件的委托实例中。使用`-=`运算符取消订阅,移除事件处理程序。订阅者通常在其生命周期结束...

    C#事件和委托定义与使用(有两个很形象的例子)

    下面是一个简单的事件定义和使用示例: ```csharp public class Publisher { public event MyEvent MyEvent; public void RaiseEvent(string message) { MyEvent?.Invoke(message); } } public class ...

    c#事件的三个实例。简单的例题能帮你更容易理解事件的知识。

    3. **事件发布者**:引发事件的对象,通常是类的一个实例。 4. **事件订阅者**:响应事件的对象,包含处理事件的方法。 5. **事件处理程序**:当事件发生时被调用的方法,通常有两个参数:`sender`和`e`,其中`...

    委托与事件的简单例子

    事件则是一种特殊的委托,它定义了一个公开的接口,允许类(通常是控件)通知其他类(订阅者)发生了某些事情。事件通常用于封装底层实现,使订阅者无需直接访问发布者就能接收通知。 在这个“委托与事件的简单例子...

    VS2010轻松学习C#-从零到深入-天轰穿.NET4趣味编程视频教程_第25讲:委托与事件实例浅析

    这包括创建自定义委托、定义事件以及如何在类之间正确地引发和处理事件。理解并熟练掌握这些内容对于提升C#编程能力至关重要,特别是对于.NET框架下的应用程序开发。 总之,委托和事件是C#编程中的重要概念,它们为...

    C# 类间通信实例(事件机制)

    一个简单的事件委托定义可能如下: ```csharp public delegate void MyEventDelegate(object sender, MyEventArgs e); ``` 事件的声明通常包含两个部分:一个私有字段存储事件委托和一个公共的添加/移除方法,如下...

    C#版本EventBus事件总线实例源码.rar

    3. **多播委托**: 多播委托是可存储多个方法的委托实例,允许一个事件被多个处理程序订阅。当事件触发时,所有关联的方法都会依次执行。 4. **事件发布者(Publisher)**: 负责触发事件的类。它通常会声明事件,并在...

    C#Winform委托事件实现窗体信息传递实例源代码.rar

    - **订阅事件**:在订阅窗体的构造函数或初始化方法中,使用发布窗体的实例订阅事件,同时传入事件处理程序方法作为参数。 - **触发事件**:在发布窗体中,当需要传递信息时,触发事件,并传入自定义的`EventArgs`...

    C#版本EventBus事件总线实例源码(0515).rar

    在事件总线中,委托定义了事件处理方法的签名,确保所有订阅者的方法具有相同的参数和返回类型。 2. **事件(Event)**: 事件是类的私有成员,使用关键字`event`声明。它封装了委托,并提供了添加和移除事件处理...

    如何在非COM类中引发事件

    首先定义一个IDispEvent接口,其中包含你想要引发的事件方法。然后,在你的非COM类中,声明一个IDispEventImpl实例,传入接口ID和类ID。这样,你的类就可以通过IDispEventImpl的成员函数`Fire_EventName()`来引发...

    delegate和event入门实例

    在`Main`方法中,你会创建`EventPublisher`实例,订阅事件,然后引发事件,从而在控制台中看到消息输出。 通过这个实例,你可以清晰地理解`Delegate`如何作为方法的引用,以及`Event`如何作为对象间通信的桥梁。这...

    事件管理系统的简单架构和学习.rar

    这里的`MyEventHandler`委托可以用于定义一个事件,`sender`参数代表引发事件的对象,`EventArgs`或其派生类通常用于传递与事件相关的额外信息。 接下来,我们创建一个事件发布者类,它将包含一个由上述委托定义的...

    C# 中的EventHandler实例详解

    订阅事件是通过在类实例上调用事件名来实现的,这会将指定的处理程序方法连接到事件。例如: ```csharp CustomClass customInstance = new CustomClass(); customInstance.MyEvent += new EventHandler...

    .net事件分析范例

    - **发布者(Publisher)**:定义事件和相应的委托类型,通常包含引发事件的方法。 - **订阅者(Subscriber)**:订阅事件,通过将处理方法附加到事件的委托实例上。 - **事件触发(Raising the Event)**:当...

    .net C# 委托 调用事件

    事件的订阅者通过实现与事件委托匹配的方法来响应事件。例如: ```csharp void Page_Load(object sender, EventArgs e) { // 订阅事件 this.MyEvent += new MyEventHandler(HandleMyEvent); } void ...

    事件,委托这里提供事件,委托的代

    事件的关键组成部分包括事件源(引发事件的对象)、事件(被触发的行为)和事件处理程序(响应事件的代码)。在C#中,事件通常用关键字`event`来声明,并且只能在事件源类中访问,保护了事件不被外部对象误用。 接...

    C#自定义事件例子

    通过创建事件委托、声明事件字段、定义引发方法以及正确地订阅和取消订阅,开发者可以构建强大的事件驱动系统。在"EventDemo"中,我们可以看到这些概念如何具体应用,从而更好地理解和掌握C#的事件机制。

    C#处理事件的过程

    其中,`MyEventHandler`是一个自定义事件处理程序,`sender`参数代表引发事件的对象,`EventArgs`或其子类通常用于传递额外的信息。 2. **定义事件处理器**: 当事件被触发时,事件处理器方法会被调用。这些方法应...

    C#自定义事件之属性改变引发事件示例

    我们可以通过在Main方法中创建Monitor实例,并订阅PropertyChanging事件来响应Year属性的改变。 七、总结 本文主要讲解了C#自定义事件之属性改变引发事件示例,通过实例代码,展示了如何在C#中实现自定义事件。...

Global site tag (gtag.js) - Google Analytics