2

对于 C# 代码

public Action Task { get; set; }

this.Task();

但在 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()

不管用。如何解决这个问题?

4

1 回答 1

7

利用

Me.Task()()

代替

Me.Task()

在 VB.Net 中访问属性时,您可以提供括号或省略它们,因此

Me.Task() = Sub() Console.WriteLine("123")

相当于

Me.Task = Sub() Console.WriteLine("123")

因此,如果你简单地写

Me.Task()

编译器在这里假设一个属性访问,并期望您使用它的值或分配一个新值。因此,您必须使用第二对括号来使用属性的值并调用委托。

于 2013-02-26T10:53:14.710 回答