Ну, это проблема для начала:
catch { }
Если что-то пойдет не так, вы просто молча прекратите.
Может быть, это то, что происходит? (РЕДАКТИРОВАТЬ: Это. См. Позже.)
Следующая проблема заключается в том, что ваш «список» будет содержать только одну строку ... это действительно то, что вы хотели? Я сомневаюсь, что список, который вы видите, на самом деле пуст - но он будет содержать одну пустую строку.
(В качестве примечания я бы настоятельно предложил бы вам начать следовать соглашениям об именах .NET и избегать глобальных переменных, подобных этой.)
РЕДАКТИРОВАТЬ: Aargh - я только что понял, что вы сделали. Вы, вероятно, на самом деле получаете NullReferenceException
в list_all_pocesses
, который вы поймали и проигнорировали.
Ваш звонок на pro_hook.Add
сделан до того, как вы присвоите значение pro_hook
. По сути, у вас есть инициализатор переменной, который использует метод, который в свою очередь использует переменную. Не делайте этого. Если вы перебираете свой код в отладчике, вы можете получить больше представления о том, что происходит, но в основном вы создали для себя большой шар спагетти.
Почему list_all_pocesses
просто не возвращает List<string>
? Почему вы вообще используете StringBuilder
?