Net Core教程

VB.net delegate 委托相关学习体会

本文主要是介绍VB.net delegate 委托相关学习体会,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

文章目录

  • 前言
  • 一、委托是什么?
  • 二、delegate(自定义委托)
    • 1.定义委托类型
    • 2.进行委托
  • 总结


前言

委托这个概念穿插在vb.net的很多地方且非常抽象,但是VB.NET相关的资料还是非常少的(包括windows官方文档也只有c#版本的.我在看过很多大佬的解释和教学后从完全不明白到略知一二,现在把自己的体会记录一下


一、委托是什么?

Delegate 语句定义委托类的参数和返回类型。任何具有匹配参数和返回类型的过程都可用于创建此委托类的实例。然后就可以调用委托的Invoke 方法,通过委托实例调用此过程。可以在命名空间、模块、类或结构级别声明委托,但不能在过程内声明。每个委托类都定义一个被传递对象方法规范的构造函数。委托构造函数的参数必须是对方法或lambda 表达式的引用。

二、delegate(自定义委托)

1.定义委托类型

比如 我想委托一个sub 用于增加进度条.
首先我需要定义委托类型(也就是第一句)
后面是我需要委托执行的sub

 Private Delegate Sub progress(ByVal x As Integer, ByVal obj As ProgressBar)

 Sub progressUp(i As Integer, progressB As ProgressBar)
        If progressB.Value < 100 Then
            progressB.Value += i
        End If
End Sub

2.进行委托

在需要使用委托时,先把委托类型实例化
然后使用invoke或者begininvoke进行委托:

 Dim proInvokeUp As New progress(AddressOf progressUp)
 Dispatcher.Invoke(proInvokeUp, 4, ProgressBar1)

总结

下一篇会加上action和func 的委托方法

这篇关于VB.net delegate 委托相关学习体会的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!