C#和VB6:如何将’with’语句转换为C#?

如何将这段VB6代码转换为C#?

http://pastebin.com/f16e19351

我已经尝试过自己并且到目前为止:

http://pastebin.com/f7ca199f0

编辑:代码我试图翻译存在于这里:
http://www.codeproject.com/KB/vb-interop/MouseHunter.aspx

解决方法

你没有显示EventThief代码,这使得无法分辨.但总的来说:
With expression
   .Foo = a
   .Bar = b
End With

会翻译成

var x = expression;
x.Foo = a;
x.Bar = b;

(当然你可以明确指定类型……)

这里的共性是表达式仅被评估一次.在您展示的特定代码中,当然不需要额外的变量,因为表达式首先只是局部变量.

你的实际错误看起来只是与EventThief.RIGHT_DOWN等类型有关,而不是与WITH语句有关.

编辑:好的,你现在已经展示了使用布尔值的原始EventThief代码……但是你没有显示你移植的EventThief代码.你写了:

It says et.LEFT_UP is a short

……但它不应该.在原来它是一个布尔值,为什么它是你的端口短?

相关文章

在要实现单例模式的类当中添加如下代码:实例化的时候:frmC...
1、如果制作圆角窗体,窗体先继承DOTNETBAR的:public parti...
根据网上资料,自己很粗略的实现了一个winform搜索提示,但是...
近期在做DSOFramer这个控件,打算自己弄一个自定义控件来封装...
今天玩了一把WMI,查询了一下电脑的硬件信息,感觉很多代码都...
最近在研究WinWordControl这个控件,因为上级要求在系统里,...