При определении значений константы Windows API, это лучше, чтобы иметь их как константу
public const int SW_HIDE = 0;
public const int SW_SHOWNORMAL = 1;
public const int SW_NORMAL = 1;
public const int SW_SHOWMINIMIZED = 2;
public const int SW_SHOWMAXIMIZED = 3;
public const int SW_MAXIMIZE = 3;
public const int SW_SHOWNOACTIVATE = 4;
public const int SW_SHOW = 5;
public const int SW_MINIMIZE = 6;
public const int SW_SHOWMINNOACTIVE = 7;
public const int SW_SHOWNA = 8;
public const int SW_RESTORE = 9;
public const int SW_SHOWDEFAULT = 10;
public const int SW_MAX = 10;
[DllImport( "user32.dll" )]
public static extern bool ShowWindow( HandleRef hWnd, int nCmdShow );
или собирать в группу их как перечисление.
public enum SW {
SW_HIDE = 0,
SW_SHOWNORMAL = 1,
SW_NORMAL = 1,
SW_SHOWMINIMIZED = 2,
SW_SHOWMAXIMIZED = 3,
SW_MAXIMIZE = 3,
SW_SHOWNOACTIVATE = 4,
SW_SHOW = 5,
SW_MINIMIZE = 6,
SW_SHOWMINNOACTIVE = 7,
SW_SHOWNA = 8,
SW_RESTORE = 9,
SW_SHOWDEFAULT = 10,
SW_MAX = 10
}
[DllImport( "user32.dll" )]
public static extern bool ShowWindow( HandleRef hWnd, SW nCmdShow );
Сгруппируйте их как перечисления.
Зачем? Инты используются повсюду, и вы можете передавать их там, где, например, необходим размер... Это привело к чертовой венгерской нотации (szSomething...) в первую очередь. Система типов была несовершенна, и они попытались "исправить" это с помощью схемы именования переменных. Теперь у вас есть лучшая система типов; используйте ее.
Определите перечисления, сгруппируйте их разумным образом, и вы не будете Thread.Sleep(WM_User) когда-нибудь (Да, я не совсем серьезно отношусь к этому примеру, но думаю, вы поняли суть).
За исключением ремонтопригодности кода, это не имеет никакого значения.
Я рекомендую использовать перечисление
; это позволяет использовать IntelliSense при вызове функции и может помочь предотвратить ошибки.
Однако вы должны дать вашему перечислению осмысленное имя, например WindowShowType
.
Кроме того, вы можете удалить префиксы и, возможно, стандартизировать имена для CamelCase.