C♯相談室 Part25
■ このスレッドは過去ログ倉庫に格納されています
0663デフォルトの名無しさん
2005/09/07(水) 23:34:21GCのせい。
アンマネージドにデリゲートオブジェクトの参照を渡そうとしても、
参照じゃなくてデリゲートオブジェクトがマーシャリングされた関数ポインタとして渡される。
だからGCは、スコープを抜けた時点でもうそのデリゲートオブジェクトへの参照がないと判断してデリゲートオブジェクトを破棄しちゃうって訳。
フィールドとしてデリゲートオブジェクトを持っておけば、
その保持クラスのインスタンスが破棄されるまで(staticならアプリケーションの終了まで)破棄されることはない。
■ このスレッドは過去ログ倉庫に格納されています