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

Zol*_*mon 6 c# vb6

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

http://pastebin.com/f16e19351

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

http://pastebin.com/f7ca199f0

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

Jon*_*eet 7

你没有显示EventThief代码,这使得无法分辨,真的.但总的来说:

With expression
   .Foo = a
   .Bar = b
End With
Run Code Online (Sandbox Code Playgroud)

会翻译成

var x = expression;
x.Foo = a;
x.Bar = b;
Run Code Online (Sandbox Code Playgroud)

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

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

您的实际错误看起来只是与EventThief.RIGHT_DOWNetc 的类型而不是WITH语句有关.

编辑:好的,你现在已经显示原EventThief代码确实使用布尔...但你还没有表现出你的移植 EventThief代码.你写了:

它说et.LEFT_UP是一个简短的

......但它不应该.在原来它是一个Boolean,所以为什么它short在你的端口?