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

コンパイラはここでプロパティアクセスを想定し、その値を使用するか、新しい値を割り当てることを期待します。したがって、プロパティの値を使用してデリゲートを呼び出すには、2番目の括弧のペアを使用する必要があります。

于 2013-02-26T10:53:14.710 に答える