5

C++/CLI で次のことを行う方法はありますか? (アクションがサポートされていないため、答えはノーだと思いますか?)

public ref class MyClass {
public:
    void TaskMethod();
    void Start();
}

void MyClass::Start() {
    Task^ myTask = Task::Factory->StartNew(??TaskMethod??);
}
4

1 に答える 1

13

アクションは単なるデリゲートであり、C++/CLI で完全にサポートされています。(C++/CLI でサポートされていないラムダと混同している可能性があります。)

C++/CLI でデリゲートを作成する構文は次のとおりです。

Task^ myTask = Task::Factory->StartNew(gcnew Action(this, &MyClass::TaskMethod));
// For non-static methods, specify the object.      ^^^^ 
// Use the C++-style reference to a class method.         ^^^^^^^^^^^^^^^^^^^^
于 2013-06-05T18:31:55.930 に答える