十分钟了解VB.NET远程事件

开发 后端
在VB.NET中我们可以使用Event和RaiseEvent关键字并且使用Delegate关键字来实现VB.NET远程事件的触发功能,文章有详细的介绍,希望对大家有帮助。

学习VB.NET时,你可能会遇到VB.NET远程事件问题,这里将介绍VB.NET远程事件问题的解决方法,在这里拿出来和大家分享一下。在不同工程之间完成触发事件的工作,这在VB中是不能做到的。但是在VB.NET中我们可以使用Event和RaiseEvent关键字并且使用Delegate关键字来实现它。如果你想从VB.NET工程中触发一个事件并且在另外一个工程中收到这个触发,我们就必须使用事件和Delegate的概念。

执行VB.NET远程事件源

#t#当我们仍要使用RaiseEvent语句来触发事件的时候,如果要在其它VB.NET工程中的代码接收代码我们需要采用不同的方法来声明事件。特殊地,我们需要在类外部我们要触发事件的地方通过使用Delegate语句定义事件作为delegate。接着创建一个新的类库,将它命名为EventSource并且增加一个简单类命名为RemoteClass。

假定我们想触发一个事件,这个事件返回一个字符串参数。我们首先要利用参数的类型来声明一个Delegate:

  1. Public Delegate Sub RemoteEventHandler(ByVal SomeString As String) 

通常情况下VB.NET会自动创建这个Delegate。然而,有时候这个Delegate不能从其它工程中进行访问,所以我们还是对它进行显式的声明。

以下是我们创建的类,它可以触发事件:

  1. Public Class RemoteClass  
  2. Public Event RemoteEvent As RemoteEventHandler  
  3. Public Sub DoSomething()  
  4. RaiseEvent RemoteEvent(anyevent)  
  5. End Sub  
  6. End Class 

这段功能是否成功的实现取决于事件本身的定义:

  1. Public Event RemoteEvent As RemoteEventHandler 

这个事件并没有显式地定义它的参数,而是依赖于Delegate来定义。反而,这个事件是定义为一个特殊的类型,即我们刚才定义Delegate的类型。

另外,用于触发事件的代码只是应用了一个简单的RaiseEvent语句:

  1. RaiseEvent RemoteEvent(anyevent) 

这条语句提供的参数数值用于当事件被触发时的返回值。

责任编辑:田树 来源: 博客
相关推荐

2009-10-09 14:45:29

VB程序

2023-07-15 18:26:51

LinuxABI

2009-10-26 15:45:43

VB.NET类构造

2020-12-17 06:48:21

SQLkafkaMySQL

2015-11-06 11:03:36

2021-07-29 08:57:23

ViteReact模块

2021-09-07 09:40:20

Spark大数据引擎

2022-06-16 07:31:41

Web组件封装HTML 标签

2023-04-12 11:18:51

甘特图前端

2023-08-15 15:50:42

2019-04-01 14:59:56

负载均衡服务器网络

2019-09-16 09:14:51

2022-08-26 09:01:07

CSSFlex 布局

2020-12-09 16:41:22

LinuxIT开发

2009-11-10 16:05:21

VB.NET格式化

2015-09-06 09:22:24

框架搭建快速高效app

2012-07-10 01:22:32

PythonPython教程

2023-11-30 10:21:48

虚拟列表虚拟列表工具库

2024-01-29 00:20:00

GolangGo代码

2009-04-29 17:35:47

LinuxWebMail系统
点赞
收藏

51CTO技术栈公众号