VB.NET 中的委托(Delegate)

一、什么是委托

简而言之,委托是指向方法的变量。

vbnet 复制代码
Dim a As Integer = 10   ' 指向数据
Dim d As Action        ' 指向方法

二、声明委托

使用 Delegate 关键字

vbnet 复制代码
Public Delegate Sub MyDelegate()  ' 无参的

Public Delegate Sub LogDelegate(msg As String)  ' 有参的

Public Delegate Function CalcDelegate(a As Integer, b As Integer) As Integer  ' 有返回值的

三、委托的使用

定义方法

vbnet 复制代码
Public Sub WriteLog(msg As String)
    Console.WriteLine(msg)
End Sub

创建委托并赋值,然后调用委托

vbnet 复制代码
Dim log As LogDelegate = AddressOf WriteLog
log("系统启动成功")
相关推荐
唐青枫1 天前
别把 ImmutableArray 当成只读 List:C#.NET 不可变数组深入详解
c#·.net
微小冷2 天前
海康威视相机C#二次开发环境配置
数码相机·c#·.net·海康威视·相机开发
唐青枫2 天前
别只会解析参数:C#.NET Spectre.Console.Cli 命令行工具实战详解
c#·.net
rockey6273 天前
基于AScript的Lua脚本语言发布啦
c#·.net·lua·script·动态脚本
半亩码田3 天前
【.NET新特性·第11篇】C# 14 字段属性:告别手写 backing field
java·c#·.net
唐青枫3 天前
别再把命令行参数写成一团:C#.NET System.CommandLine 实战详解
c#·.net
hez20103 天前
让 .NET 11 的泛型虚方法变得更快!
c#·.net·.net core·clr·compiler
宝桥南山3 天前
Microsoft Agent Framework(.NET) - 尝试一下从MCP Server上获取Agent Skills
ai·微软·c#·aigc·.net·.netcore
海盗12343 天前
微软技术日报·2026-08-12——Windows 11多通道累积更新推送十余项功能改进;.NET WebSocket DoS紧急修复
windows·microsoft·.net
唐青枫4 天前
别再手写 args[0]:C#.NET CommandLineParser 命令行工具实战详解
c#·.net