Kiedy dodać następujące wiersze do mojego koduNET Przenośność Ostrzeżenie: Deklaracje CA1901 pinvoke powinno być przenośne
[DllImport("user32.dll")]
static extern void keybd_event(byte key, byte scan, int flags, int extraInfo);
i uruchomić analizę kodu przed Microsoft Podstawowe zasady poprawności, otrzymuję ostrzeżenie CA1901. Zasadniczo narzeka na czwarty parametr intextraInfo działa poprawnie na platformie 32-bitowej, ale 64-bitowy typ liczb całkowitych jest oczekiwany na platformie 64-bitowej.
Kiedy zmodyfikowany kod do długoextraInfo, 64-bitowa platforma wymaganie jest spełnione, ale platforma 32-bitowa spodziewa się 32-bitową liczbę całkowitą.
Jak rozwiązać ten dylemat bez tłumienia ostrzeżenia?