10
デリゲートを作成せずに、以下のコードで同じ機能を維持する方法はありますか?私はいくつかのさまざまなDeleteSomethingX(ref IntPtr ptr)メソッドを含むサードパーティ製のAPIとインターフェイスしていますが、IntPtr.Zeroチェックのコードを集中化しようとしています。参照パラメータ付き代理人
private void delegate CleanupDelegate(ref IntPtr ptr);
...
private void Cleanup(ref IntPtr ptr, CleanupDelegate cleanup)
{
if (ptr != IntPtr.Zero)
{
cleanup(ref ptr);
}
}
あなたは何をしようとしていますか? –
デリゲートを作成すると何が問題になりますか? – SLaks
サードパーティAPIがヌルポインタをNOPとして処理していないことは確かですか? –