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로 처리하지 않습니까? –