Sie haben den Code EventThief
nicht angezeigt, was es unmöglich macht, wirklich zu sagen. Aber im Allgemeinen:
With expression
.Foo = a
.Bar = b
End With
zu
übersetzen würde
var x = expression;
x.Foo = a;
x.Bar = b;
(Natürlich können Sie den Typ explizit angeben ...)
Die Gemeinsamkeit ist hier, dass expression
nur einmal ausgewertet wird. In dem speziellen Code, den Sie gezeigt haben, besteht natürlich keine Notwendigkeit für eine zusätzliche Variable, da der Ausdruck nur die lokale Variable an erster Stelle ist.
Ihr tatsächlicher Fehler sieht aus, als ob es nur mit den Typen von EventThief.RIGHT_DOWN
usw. statt mit der WITH-Anweisung zu tun hat.
EDIT: Okay, Sie haben jetzt die ursprüngliche EventThief Code gezeigt, der tut Verwendung Boolesche ... aber Sie haben nicht gezeigt, Ihre portiertEventThief
Code. Sie schrieb:
Es sagt et.LEFT_UP ein
kurz
ist ... aber es sollte nicht sein. Im Original ist es ein , also warum ist es ein
short
in Ihrem Port?
Mögliches Duplikat von [C# entspricht für Visual Basic-Schlüsselwort: 'Mit' ... 'Ende mit'?] (Http://stackoverflow.com/questions/4174773/c-sharp-equivalent-for-visual-basic -keyword-with-end-with) – DaveInCaz
@DaveInCaz Vielleicht die andere als Duplikat ablegen, da diese Frage vorher gestellt wurde? – Zolomon