Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> проблемы с variables scope, объясните дебилу где проблема 
:(
    Опции темы
khorght
Дата 13.7.2010, 22:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 14.12.2009

Репутация: нет
Всего: нет



В консольном приложении есть метод в котором:
Код

        static void startRec(String pid)
        {
            IntPtr hndl;
            Process[] localByName = Process.GetProcessesByName("App");
            int i = localByName.Length;
            while (i > 0)
            {
                if (localByName[i - 1].Id.ToString() == pid)
                {
                   hndl = localByName[i - 1].Handle;
                }
                i -= 1;
            }
            SetForegroundWindow(hndl);
         }


Visual Studio 2010 пишет ошибку  на последнюю строчку use of unassigned variable. ткните носом дауна где ошибка! уже и в  public переменную совал тогда наоборот внутри цикла if пишет use of unassigned variable. на С# пишу впервые но такого бреда с variable scopes не встречал. если переменная объявлена паблик то как она может быть не видна где-то внутри класса если должна быть видна даже вне его?!




Это сообщение отредактировал(а) khorght - 13.7.2010, 22:49
PM MAIL   Вверх
Void
Дата 13.7.2010, 22:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


λcat.lolcat
****


Профиль
Группа: Участник Клуба
Сообщений: 2206
Регистрация: 16.11.2004
Где: Zürich

Репутация: 2
Всего: 173



Дело не в scope, она видна. unassigned — не инициализированная. Компилятор не может гарантировать, что переменной hndl будет присвоено какое-то значение до того как она будет использована в вызове SetForegroundWindow. Лечится инициализацией переменной: IntPtr hndl = IntPtr.Zero.


--------------------
“Coming back to where you started is not the same as never leaving.” — Terry Pratchett
PM MAIL WWW GTalk   Вверх
khorght
Дата 13.7.2010, 22:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 14.12.2009

Репутация: нет
Всего: нет



действительно. только сейчас доперло, у меня же там условие. спасибо, пойду перечитывать азы ООП, видимо отупел окончательно.
PM MAIL   Вверх
Mephisto
Дата 15.7.2010, 16:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Волкъ
***


Профиль
Группа: Завсегдатай
Сообщений: 1818
Регистрация: 27.8.2003
Где: Питер

Репутация: нет
Всего: 34



Цитата(khorght @  13.7.2010,  23:56 Найти цитируемый пост)
пойду перечитывать азы ООП, видимо отупел окончательно. 

ООП тут не при чем. Это просто возможное использование неинициализированной переменной.
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Partizan
PashaPash

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | .NET для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0704 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.