mam ten kod:Jaki jest wzór C# do wykonania akcji na serii wartości?
if (PsionTeklogix.Keyboard.Keyboard.GetModifierKeyState(Key.Orange) == KeyState.Lock)
PsionTeklogix.Keyboard.Keyboard.InjectKeyboardCommand(Function.Orange, 0, 0);
if (PsionTeklogix.Keyboard.Keyboard.GetModifierKeyState(Key.Blue) == KeyState.Lock)
PsionTeklogix.Keyboard.Keyboard.InjectKeyboardCommand(Function.Blue, 0, 0);
if (PsionTeklogix.Keyboard.Keyboard.GetModifierKeyState(Key.Shift) == KeyState.Lock)
PsionTeklogix.Keyboard.Keyboard.InjectKeyboardCommand(Function.Shift, 0, 0);
if (PsionTeklogix.Keyboard.Keyboard.GetModifierKeyState(Key.Control) == KeyState.Lock)
PsionTeklogix.Keyboard.Keyboard.InjectKeyboardCommand(Function.Control, 0, 0);
...
i chcę byłaby kodu oddzielającą definicję klucz/funkcji z działań. Key.xxx i Function.xxx nie są tego samego typu.
np: w Pythonie, może po prostu zrobić coś takiego:
keys = (
(Key.Orange, Function.Orange),
(Key.Blue , Function.Blue),
(Key.Shift , Function.Shift),
...
)
psi_key = PsionTeklogix.Keyboard.Keyboard
for key, func in keys:
if psi_key.GetModifierKeyState(key) == KeyState.Lock):
psi_key.InjectKeyboardCommand(func, 0, 0)
Co to jest "właściwy sposób", aby zrobić w C#?
@ Jimmy: Podoba mi się, jak zakładasz, że on przyjął. Być może jest nowy? W każdym razie 'for' w C# nie zrobi tego, o co prosi.Musi użyć "foreach". –
Szkoda, że nie możemy komentować komentarzy, ponieważ @Jimmy Hoffa nie jest tu potrzebny. – JonH
@ Jimmy: Jestem świadomy foreach, ale szukałem niewerbalnego sposobu na zbudowanie początkowej tablicy. I tak, jestem newbie C# (przepraszam) – PabloG