有没有办法在下面的代码中保持相同的功能,但不必创建委托?我正在与包含许多不同 DeleteSomethingX(ref IntPtr ptr) 方法的第 3 方 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);
}
}