Never supress a warning from this rule? Really? So, when I need to call a Win32 function like WSAEventSelect, I'm not supposed to use WaitHandle.Handle because its obsolete, and I'm not supposed to use WaitHandle.SafeWaitHandle.DangerousGetHandle because its "problematic"? What exactly am I supposed to use then? I really wish you would put more effort into making the advice on these pages realistic, instead of saying "We gave you this function, but NEVER use it!"