Esiste un modo per mantenere la stessa funzionalità nel codice riportato di seguito, ma senza dover creare il delegato? Sto interagendo con un'API di terze parti che contiene vari metodi DeleteSomethingX (ref IntPtr ptr) e sto cercando di centralizzare il codice per il controllo IntPtr.Zero.delegato con parametro ref
private void delegate CleanupDelegate(ref IntPtr ptr);
...
private void Cleanup(ref IntPtr ptr, CleanupDelegate cleanup)
{
if (ptr != IntPtr.Zero)
{
cleanup(ref ptr);
}
}
Che cosa si sta tentando di fare esattamente? –
Cosa c'è di sbagliato nella creazione del delegato? – SLaks
Sei sicuro che l'API di terze parti non gestisca un puntatore nullo come un NOP? –