C# 和vb.net事件

简介: vb.net中的事件''' ''' 申明代理''' ''' ''' ''' Delegate Sub myEvnetHandler()Sub myEvnetHandler(ByVal sender As Object, ByVal e As EventArgs)''' ''' 創建事件發布...

 

vb.net中的事件
''' <summary>
''' 申明代理
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks>
Delegate Sub myEvnetHandler()Sub myEvnetHandler(ByVal sender As Object, ByVal e As EventArgs)

''' <summary>
''' 創建事件發布者類,所需做的事情有:
''' 1、申明事件
''' 2、檢測事件是事存在的方法(可有可無)
''' 3、事件調用
''' </summary>
''' <remarks></remarks>
Class ReleaseClass Release
Public Event myEvent As myEvnetHandler
Public Sub DomyEvent()Sub DomyEvent()
RaiseEvent myEvent(Nothing, Nothing)
End Sub
End Class

''' <summary>
''' 創建事件接收者類,所需做的事情:
''' 利用代理將對象及其方法注冊進事件
''' </summary>
''' <remarks></remarks>
Class ReceiveClass Receive
Public Sub New()Sub New(ByVal rl As Release)
AddHandler rl.myEvent, AddressOf OnmyEvent
End Sub
Sub OnmyEvent()Sub OnmyEvent(ByVal sender As Object, ByVal e As EventArgs)
Console.WriteLine("VB Event Raise")
Console.ReadLine()
End Sub
End Class

''' <summary>
''' 實例化發布者、訂閱者類,並引發事件
''' 事件只能還發布者調用,接收者注冊
''' </summary>
''' <remarks></remarks>
Module Module1Module Module1
Sub Main()Sub Main()
Dim R As Release = New Release()
Dim C As Receive = New Receive(R)
R.DomyEvent()
End Sub
End Module
C#中事件
using System;
using System.Collections.Generic;
using System.Text;

namespace ConsoleApplication1
{
/**//// <summary>
/// 申明代理
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
delegate void myEventHandler(object sender,EventArgs e);

/**//// <summary>
/// 創建事件發布者類,所需做的事情有:
/// 1、申明事件
/// 2、檢測事件是事存在的方法(可有可無)
/// 3、事件調用
/// </summary>
class Release
{
public event myEventHandler myEvent;
public void DomyEvent()
{
if (myEvent != null)
{
myEvent(null, null);
}
}
}

/**//// <summary>
/// 創建事件接收者類,所需做的事情:
/// 利用代理將對象及其方法注冊進事件
/// </summary>
class Receive
{
public Receive(Release rl)
{
rl.myEvent += new myEventHandler(rl_myEvent);
}

void rl_myEvent(object sender, EventArgs e)
{
Console.WriteLine("C# Event Raised");
Console.ReadLine();
}
}

/**//// <summary>
/// 實例化發布者、訂閱者類,並引發事件
/// 事件只能還發布者調用,接收者注冊
/// </summary>
class Program
{
static void Main(string[] args)
{
Release R = new Release();
Receive C = new Receive(R);
R.DomyEvent();
}
}
}




 

目录
相关文章
|
1月前
|
Java 物联网 C#
C#/.NET/.NET Core学习路线集合,学习不迷路!
C#/.NET/.NET Core学习路线集合,学习不迷路!
|
12天前
|
开发框架 监控 .NET
C#进阶-ASP.NET WebForms调用ASMX的WebService接口
通过本文的介绍,希望您能深入理解并掌握ASP.NET WebForms中调用ASMX WebService接口的方法和技巧,并在实际项目中灵活运用这些技术,提高开发效率和应用性能。
30 5
|
20天前
|
算法 Java 测试技术
Benchmark.NET:让 C# 测试程序性能变得既酷又简单
Benchmark.NET是一款专为 .NET 平台设计的性能基准测试框架,它可以帮助你测量代码的执行时间、内存使用情况等性能指标。它就像是你代码的 "健身教练",帮助你找到瓶颈,优化性能,让你的应用跑得更快、更稳!希望这个小教程能让你在追求高性能的路上越走越远,享受编程带来的无限乐趣!
69 13
|
1月前
|
Java 物联网 编译器
C#一分钟浅谈:.NET Core 与 .NET 5 区别
本文对比了 .NET Core 和 .NET 5,从历史背景、主要区别、常见问题及易错点等方面进行了详细分析。.NET Core 侧重跨平台支持和高性能,而 .NET 5 在此基础上统一了 .NET 生态系统,增加了更多新特性和优化。开发者可根据具体需求选择合适的版本。
51 7
|
1月前
|
人工智能 开发框架 前端开发
C#/.NET/.NET Core技术前沿周刊 | 第 12 期(2024年11.01-11.10)
C#/.NET/.NET Core技术前沿周刊 | 第 12 期(2024年11.01-11.10)
|
1月前
|
开发框架 网络协议 .NET
C#/.NET/.NET Core优秀项目和框架2024年10月简报
C#/.NET/.NET Core优秀项目和框架2024年10月简报
|
28天前
|
数据库连接 数据库 C#
Windows下C# 通过ADO.NET方式连接南大通用GBase 8s数据库(上)
Windows下C# 通过ADO.NET方式连接南大通用GBase 8s数据库(上)
|
28天前
|
数据库连接 数据库 C#
Windows下C# 通过ADO.NET方式连接南大通用GBase 8s数据库(下)
本文接续前文,深入讲解了在Windows环境下使用C#和ADO.NET操作南大通用GBase 8s数据库的方法。通过Visual Studio 2022创建项目,添加GBase 8s的DLL引用,并提供了详细的C#代码示例,涵盖数据库连接、表的创建与修改、数据的增删查改等操作,旨在帮助开发者提高数据库管理效率。
|
1月前
|
人工智能 开发框架 安全
C#/.NET/.NET Core技术前沿周刊 | 第 13 期(2024年11.11-11.17)
C#/.NET/.NET Core技术前沿周刊 | 第 13 期(2024年11.11-11.17)
|
2月前
|
JSON C# 开发者
C#语言新特性深度剖析:提升你的.NET开发效率
【10月更文挑战第15天】C#语言凭借其强大的功能和易用性深受开发者喜爱。随着.NET平台的演进,C#不断引入新特性,如C# 7.0的模式匹配和C# 8.0的异步流,显著提升了开发效率和代码可维护性。本文将深入探讨这些新特性,助力开发者在.NET开发中更高效地利用它们。
44 1