デフォルト引数(別名:省略可能な引数、オプション引数(optional parameter))を使って、 デリゲートすると変な現象。
まず、このようなデフォルト引数のあるメソッド
void Hoge(int fooInt, bool barBool=false, int fugaInt=0) { Debug.LogError(fooInt); Debug.LogError(barBool); Debug.LogError(fugaInt); }
このようにデリゲートさせる。barBoolとfugaIntはデフォルト引数にお任せする!
void CallBack(Action<int> callback) { callback(19); }
CallBack(Hoge);
を呼ぶ。
しかし、ログは
19 False 0
が出ると思うが・・・
19 True 658336
になる。