Est-il possible de conserver la même fonctionnalité dans le code ci-dessous, mais sans avoir à créer le délégué? J'interface avec une API tierce qui contient un certain nombre de diverses méthodes DeleteSomethingX (ref IntPtr ptr) et j'essaie de centraliser le code pour la vérification IntPtr.Zero.Déléguer avec le paramètre ref
private void delegate CleanupDelegate(ref IntPtr ptr);
...
private void Cleanup(ref IntPtr ptr, CleanupDelegate cleanup)
{
if (ptr != IntPtr.Zero)
{
cleanup(ref ptr);
}
}
Qu'est-ce que vous essayez de faire exactement? –
Quel est le problème avec la création du délégué? – SLaks
Etes-vous sûr que l'API tierce ne gère pas un pointeur NULL en tant que NOP? –