1

C# では、次のことができます (*):

        Button b = new Button();
        b.Click += ButtonOnClick;
    :
    void ButtonOnClick(object sender, RoutedEventArgs e)
    {
        // do something
    }

しかし、C++/CLI ではできません:

    Button ^ b = gcnew Button();
    b->Click += ButtonOnClick;
:
void ButtonOnClick(Object ^ sender, RoutedEventArgs ^ e)
{
    // do something
}

+= ButtonOnClick: 2>.\blub.cpp(108) : error C3867: 'MyListBoxItem::ButtonOnClick': function call missing argument list; に関するコンパイラ エラーが発生します。「&MyListBoxItem::ButtonOnClick」を使用して、メンバーへのポインターを作成します

(コンパイラが提供するヒントは、静的メソッドではないため機能しません。)

C++/CLI の (*) に相当するものは何ですか?

Thx マーク

4

1 に答える 1

1

試す

 b->Click += MAKE_DELEGATE( System::EventHandler, ButtonOnClick );

b->Click += gcnew System::EventHandler(this, &ButtonOnClick);
于 2009-11-05T15:01:32.500 に答える