1

在 Watin 脚本中,我想使用条件附加到另一个浏览器 - “新 IE 的句柄不等于当前 IE 的句柄”,这是我的代码:

var hwnd = currentIE.hWnd;
var newIE= Browser.AttachTo<IE>(Find.By("hwnd", handle => !handle.Equals(hwnd)  ));

Visual Studio 发出警告:

"suspicious comparison: there is no type in the solution which is inherited from both 'string' and 'System.IntPtr'

这里有什么问题?

4

1 回答 1

1

我不知道 Watin 是什么,但显然handlehwnd不同的类型(stringIntPtr),没有必要将它们与Equals.

无论哪个是字符串,您都可以尝试将其转换为IntPtr

static IntPtr ParseIntPtr (string s)
{
    s = s.Replace ("0x", "");
    return (IntPtr) int.Parse(s, System.Globalization.NumberStyles.AllowHexSpecifier);
}

(我从这里采用了方法)。

于 2013-03-29T12:04:38.323 回答