Как обратиться к глобальной переменной в c# коде?

martens

Client
Регистрация
27.07.2015
Сообщения
97
Реакции
3
Баллы
8
Как обратиться к глобальной переменной в c# коде?
Например переменная "glob", пространство имен "abc"
 
project.GlobalVariables["abc", "glob"]
 
  • Спасибо
Реакции: impul5e
в этой теме давали ссылку на шаблон с глобальными переменными:
http://zennolab.com/discussion/threads/ocherednoj-vopros-o-globalnyx-peremennyx.26544/
Именно по нему я удачно научился как их применять. Советую.
Если проект прервать и начать заного - этот сниппет перестает работать почему то, нужно именно саму Зенку перезапускать
 
минус что зенку надо перезапускать
 
минус что зенку надо перезапускать
Неужели нет переменных, возвращающих значение текущего потока?
За столько лет разрабы не увидели причины такую переменную сделать...
 
Неужели нет переменных окружения, возвращающих значение текущего потока?
За столько лет разрабы не увидели причины такую переменную сделать...
а при чём переменая окружения и глобалка, а если я в C# глобалку создал ?
 
С термином "окружения" я ошибся. Если в C# глобалку создать , она лучше будет работать?
глобальная переменая не обнуляется
запустил проект например цикл 100
запускаешь снова он начнёт со 1о1
а тебе надо с 0
ты должен сам думать как обнулить, а это только используя C#
 
глобальная переменая не обнуляется
запустил проект например цикл 100
запускаешь снова он начнёт со 1о1
а тебе надо с 0
ты должен сам думать как обнулить, а это только используя C#
Используя общий код в OwnCodeUsings можно будет задать эту переменную ДО начала запуска всех потоков?
или там только свои процедуры и using-и можно добавлять?
 
Используя общий код в OwnCodeUsings можно будет задать эту переменную ДО начала запуска всех потоков?
или там только свои процедуры и using-и можно добавлять?
да можно и общем и в кубике
 
Если проект прервать и начать заного - этот сниппет перестает работать почему то, нужно именно саму Зенку перезапускать
Все можно сделать без перезапуска:
Есть у меня такой шаблон Парсер анкет и фото с Mamba.ru , в нем посмотрите первый скриншот в спойлере "Spoiler: Скриншоты «Входные настройки» с кучей настроек:"
Там есть выпадающее меню с варинтом В, который как раз после запуска в 1 поток обнуляет переменные и приводит шаблон в "Девственное состояние".
Я уже не помню как я до такого докотился дошел, но вот так выглядит оттуда алгоритм обнуления:


Коды кубиков из скриншота:
C#:
Развернуть Свернуть Копировать
lock(SyncObject) {
    try {
        var gbVar = project.GlobalVariables["orka13_zenno_mail@gmail.com", "G_Cookie"];
        // go to bad exit if already initilized
        return null;
    } catch (KeyNotFoundException ex) {
        project.SendInfoToLog("Глобальная переменная G_Cookie пока не создана, нет смысла ее обнулять", true);
        return "ok";
    }
}
C#:
Развернуть Свернуть Копировать
project.SendInfoToLog("Глобальная переменная G_Cookie есть, очищаем ее и обнуляем значение G_offset", true);
lock(SyncObject) {
        var defaultValue = "";
        project.GlobalVariables.SetVariable("orka13_zenno_mail@gmail.com", "G_Cookie", defaultValue);
        int defaultValue2 = 0;
        project.GlobalVariables.SetVariable("orka13_zenno_mail@gmail.com", "G_offset", defaultValue2);
        }
Насколько я сейчас понимаю этот алгоритм: шаблон пробует создана ли глобальная переменная (пробует присвоить ей данные), если НЕ создана, то все ок, не смысла ее обнулять. А если может присвоить, значит она создана, тогда первый кубик выходит по красной ветке к второму кубику, где и происходит обнуление.

UPD: Не претендую на авторство, ибо просто собирал идею с отрывков форума, оригинальный код легко гуглится по старым комментариям:
// go to bad exit if already initilized site:zennolab.com
 
Последнее редактирование:
  • Спасибо
Реакции: RazDvaTri

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)