function_callback




もう既に何度か出てきましたが、関数をコールバックする手段として、function_callbackという仕組みを用意してあります。詳しくは「やね本1」のほうをご覧いただくとして、使いかたは、

枠-1
    関数のコールバック用基底クラス
    こいつの、smart_ptrを相手に渡して、
    相手からは、run()を呼び出してもらえればそれで良い

    例)
        smart_ptr<function_callback_r>
            s(function_callback_r<int>::Create(&test,1,10));
        //  コールバックオブジェクトが完成
        int nResult = s->run();
        //  int test(int n1,int n2)という関数をtest(1,10)と呼び出す


ということで、callbackする側では、runメソッドを呼び出すだけで良いと。注意すべき点は、引数は、callbackを設定する側で事前に決定しておく必要がある、ということです。

これに対し、callbackする側が引数まで決定するものは、delegateと呼びます。これは、C#では必須の機能です。yaneSDK3rdでも、このdelegateをサポートしています。