private static void ThrowForZeroLength(string paramName, string invalidNameString, string otherString) { throw new ArgumentException( Marshal.GetLastWin32Error() == Interop.ERROR_INVALID_NAME ? invalidNameString : otherString, paramName); } }