Почему CreateNoWindow? - программирование
Подтвердить что ты не робот

Почему CreateNoWindow?

Класс .NET Process имеет свойство CreateNoWindow.

Свойство ProcessStartInfo.CreateNoWindow

Получает или задает значение, указывающее, следует ли запускать процесс в новом окне.

Для меня это кажется странным выбором имени для свойства. По умолчанию используется CreateNoWindow = false, мгновенно путающий двойной отрицательный.

Есть ли причина, по которой свойство называется? Почему бы не CreateWindow (с противоположным значением)? Есть ли правило, что логические свойства должны иметь значение false?

4b9b3361

Ответ 1

Я бы предположил, что это просто буквальное отражение базового Win32 флаг создания процесса с именем CREATE_NO_WINDOW.

Только автор класса .net может объяснить, почему был сделан выбор, чтобы отразить соглашение Win32 в классе .net. Это легко можно было сделать по-другому. Если бы мне пришлось догадаться, я бы предположил, что был сделан выбор, чтобы было ясно, что свойство отображается непосредственно на CREATE_NO_WINDOW.