ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

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

2021-06-13 18:31:40  阅读:174  来源: 互联网

标签:VB 定义 委托 学习体会 delegate 类型 progressB Sub


文章目录


前言

委托这个概念穿插在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,定义,委托,学习体会,delegate,类型,progressB,Sub
来源: https://blog.csdn.net/m0_53168509/article/details/117883152

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有