C# 到 VB.net 委托转换
C# to VB.net delegate conversiom
我正在尝试将 C# 代码转换为 VB.net,委托阻止了我。
原代码为:
using (var source = new ETWTraceEventSource(sessionName, TraceEventSourceType.Session))
{
Action<TraceEvent> action = delegate (TraceEvent data)
{
var taskName = data.TaskName;
var EventName = data.EventName;
行操作<>...对我来说是个问题。
一些例子将不胜感激。
谢谢,杰瑞
以这种方式使用 'delegate' 关键字是过时的遗留 C#(pre-lambda 运算符)。现代 C# 方法是使用 lambda 运算符:
Action<TraceEvent> action = (TraceEvent data) =>
两者的 VB 等价于:
Option Infer On
Using source = New ETWTraceEventSource(sessionName, TraceEventSourceType.Session)
Dim action As Action(Of TraceEvent) = Sub(data As TraceEvent)
Dim taskName = data.TaskName
Dim EventName = data.EventName
End Sub
End Using
我正在尝试将 C# 代码转换为 VB.net,委托阻止了我。
原代码为:
using (var source = new ETWTraceEventSource(sessionName, TraceEventSourceType.Session))
{
Action<TraceEvent> action = delegate (TraceEvent data)
{
var taskName = data.TaskName;
var EventName = data.EventName;
行操作<>...对我来说是个问题。 一些例子将不胜感激。 谢谢,杰瑞
以这种方式使用 'delegate' 关键字是过时的遗留 C#(pre-lambda 运算符)。现代 C# 方法是使用 lambda 运算符:
Action<TraceEvent> action = (TraceEvent data) =>
两者的 VB 等价于:
Option Infer On
Using source = New ETWTraceEventSource(sessionName, TraceEventSourceType.Session)
Dim action As Action(Of TraceEvent) = Sub(data As TraceEvent)
Dim taskName = data.TaskName
Dim EventName = data.EventName
End Sub
End Using