对于C#代码
public Action Task { get; set; }
this.Task();
Run Code Online (Sandbox Code Playgroud)
但在VB中:
Public Property Task() As Action
Get
Return m_Task
End Get
Set(value As Action)
m_Task = Value
End Set
End Property
Me.Task()
Run Code Online (Sandbox Code Playgroud)
不管用.如何解决这个问题?
使用
Me.Task()()
Run Code Online (Sandbox Code Playgroud)
代替
Me.Task()
Run Code Online (Sandbox Code Playgroud)
在VB.Net中访问属性时,您可以提供括号或省略它们
Me.Task() = Sub() Console.WriteLine("123")
Run Code Online (Sandbox Code Playgroud)
相当于
Me.Task = Sub() Console.WriteLine("123")
Run Code Online (Sandbox Code Playgroud)
因此,如果你只是写
Me.Task()
Run Code Online (Sandbox Code Playgroud)
编译器在此处假定属性访问,并期望您使用其值或分配新值.因此,您必须使用第二对括号来使用属性的值并调用委托.
| 归档时间: |
|
| 查看次数: |
136 次 |
| 最近记录: |