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月前
|
C# 开发者 Windows
在VB.NET项目中使用C#编写的代码
在VB.NET项目中使用C#编写的代码
40 0
|
17天前
|
C#
C#一分钟浅谈:委托与事件的实现方式
本文详细介绍了C#编程中委托与事件的基础知识及应用场景。首先解释了委托的概念,包括定义与使用方法;接着介绍了事件这一基于委托的特殊类型,展示了如何在类中定义事件及跨类订阅与处理事件;最后讨论了常见问题如事件未处理异常、重复订阅及内存泄漏等,并提出了相应的解决方案。通过本文,读者将全面掌握委托与事件的使用技巧,提升应用程序的设计与开发水平。
42 7
|
24天前
|
SQL 存储 关系型数据库
C#一分钟浅谈:使用 ADO.NET 进行数据库访问
【9月更文挑战第3天】在.NET开发中,与数据库交互至关重要。ADO.NET是Microsoft提供的用于访问关系型数据库的类库,包含连接数据库、执行SQL命令等功能。本文从基础入手,介绍如何使用ADO.NET进行数据库访问,并提供示例代码,同时讨论常见问题及其解决方案,如连接字符串错误、SQL注入风险和资源泄露等,帮助开发者更好地利用ADO.NET提升应用的安全性和稳定性。
58 6
|
20天前
|
算法 Java 中间件
C#/.NET/.NET Core优质学习资料,干货收藏!
C#/.NET/.NET Core优质学习资料,干货收藏!
|
20天前
|
人工智能 开发框架 算法
C#/.NET/.NET Core技术前沿周刊 | 第 2 期(2024年8.19-8.25)
C#/.NET/.NET Core技术前沿周刊 | 第 2 期(2024年8.19-8.25)
|
20天前
|
缓存 开发框架 算法
C#/.NET这些实用的编程技巧你都会了吗?
C#/.NET这些实用的编程技巧你都会了吗?
|
20天前
|
传感器 应用服务中间件 Linux
C#/.NET/.NET Core技术前沿周刊 | 第 3 期(2024年8.26-8.31)
C#/.NET/.NET Core技术前沿周刊 | 第 3 期(2024年8.26-8.31)
|
20天前
|
人工智能 算法 C#
C#/.NET/.NET Core技术前沿周刊 | 第 1 期(2024年8.12-8.18)
C#/.NET/.NET Core技术前沿周刊 | 第 1 期(2024年8.12-8.18)
|
30天前
|
JSON C# 开发者
💡探索C#语言进化论:揭秘.NET开发效率飙升的秘密武器💼
【8月更文挑战第28天】C#语言凭借其强大的功能与易用性深受开发者喜爱。伴随.NET平台演进,C#持续引入新特性,如C# 7.0的模式匹配,让处理复杂数据结构更直观简洁;C# 8.0的异步流则使异步编程更灵活高效,无需一次性加载全部数据至内存。通过示例展示了模式匹配简化JSON解析及异步流实现文件逐行读取的应用。此外,C# 8.0还提供了默认接口成员和可空引用类型等特性,进一步提高.NET开发效率与代码可维护性。随着C#的发展,未来的.NET开发将更加高效便捷。
43 1
|
1月前
|
C#
由浅入深理解C#中的事件
由浅入深理解C#中的事件
99 19