Инициация глобальной переменной С#

  • Автор темы Автор темы svaminar
  • Дата начала Дата начала

svaminar

Client
Регистрация
21.08.2013
Сообщения
834
Реакции
379
Баллы
63
Код:
Развернуть Свернуть Копировать
lock(SyncObject)
{
    IGlobalVariable gv = null;
    try
    {
        // пытаемся получить глобальную переменную
        gv = project.GlobalVariables["Proverka", "project.Variables[test].Value"];
    }
    catch(KeyNotFoundException exception)
    {
        // если не удалось получить, то инициализируем значением по умолчанию.
        project.GlobalVariables.SetVariable("Proverka", "project.Variables[test].Value","1");
    }
}
Проблема в том что имя глобальной переменной получается project.Variables[test].Value
а нужно чтоб ставило значения переменной тест
Подскажите чуток пожалуйста
 
кавычки уберите "project.Variables[test].Value"
 
  • Оценить
Реакции: svaminar
Код:
Развернуть Свернуть Копировать
lock(SyncObject)
{
    IGlobalVariable gv = null;
    try
    {
        // пытаемся получить глобальную переменную
        gv = project.GlobalVariables["Proverka", "project.Variables[test].Value"];
    }
    catch(KeyNotFoundException exception)
    {
        // если не удалось получить, то инициализируем значением по умолчанию.
        project.GlobalVariables.SetVariable("Proverka", "project.Variables[test].Value","1");
    }
}
Проблема в том что имя глобальной переменной получается project.Variables[test].Value
а нужно чтоб ставило значения переменной тест
Подскажите чуток пожалуйста

А почему вы не делаете так

string locval = project.Variables[test].Value;
gv = project.GlobalVariables["Proverka", locval];
 
Просто что дальне хочу еще цикл писать и ето просто кусок кода с форума.
Которий запустил и правлю под себя
 
Да вопрос по пространству имен
Адрес почти обезательно или можно ставить любое значения (хочу на каждий шаблон отдельное значение)
 
любое
 
  • Оценить
Реакции: svaminar
подскажите еще такой вопрос
Ошибка в действии "CS0029" "Неявное преобразование типа "string" в "ZennoLab.InterfacesLibrary.ProjectModel.IGlobalVariable" невозможно". [Строка: 15; Cтолбец: 19]
сам код
Код:
Развернуть Свернуть Копировать
lock(SyncObject)
{
    IGlobalVariable gv = null;
    try
    {
        // пытаемся получить глобальную переменную
        gv = project.GlobalVariables["Proverka", project.Variables["test"].Value];
    }
    catch(KeyNotFoundException exception)
    {
        // если не удалось получить, то инициализируем значением по умолчанию.
        project.GlobalVariables.SetVariable("Proverka", project.Variables["test"].Value,"1");
    }
   IGlobalVariable portload = null;
    potload = project.GlobalVariables["Proverka", project.Variables["test"].Value];
   if (potload = "1") // переменная равна 1
   {
     return "ok"; // возвращаем ошибку
   }
   else // інакше
   {
    throw new Exception("");
   }
}

Суть в том проверяем наличие переменной если нет то создаем. Дальше проверяем значения глобальной переменной если 1 то завершаем код с ошибкой, и тогда в другой плитке добавим к простой переменной тест +1
 
if (potload.Value == "1")
 
Ошибка в действии "CS0103" "Имя "potload" отсутствует в текущем контексте". [Строка: 15; Cтолбец: 8]
 
а цифры разве в кавычках сравниваются ???
 
там только 2 значения либо 1 либо 0
Но и без кавичек ошибка таж самая
итоговий код
Код:
Развернуть Свернуть Копировать
lock(SyncObject)
{
    IGlobalVariable gv = null;
    try
    {
        // пытаемся получить глобальную переменную
        gv = project.GlobalVariables["Proverka", project.Variables["test"].Value];
    }
    catch(KeyNotFoundException exception)
    {
        // если не удалось получить, то инициализируем значением по умолчанию.
        project.GlobalVariables.SetVariable("Proverka", project.Variables["test"].Value,"1");
    }
   IGlobalVariable portload = null;
   potload = project.GlobalVariables["Proverka", project.Variables["test"].Value];
    if (potload.Value == 1)   // переменная равна 1
   {
     return "ok"; // возвращаем ошибку
   }
   else // інакше
   {
    throw new Exception("");
   }
}
 
Ошибка в действии "CS0103" "Имя "potload" отсутствует в текущем контексте". [Строка: 15; Cтолбец: 8]
Код:
Развернуть Свернуть Копировать
   IGlobalVariable portload = null;
    portload = project.GlobalVariables["Proverka", project.Variables["txt"].Value];
   if (portload = "1") // переменная равна 1

замени
 
Добавилось еще такая ошибка
Ошибка в действии "CS0029" "Неявное преобразование типа "string" в "ZennoLab.InterfacesLibrary.ProjectModel.IGlobalVariable" невозможно". [Строка: 15; Cтолбец: 16]
 
аха мудришь ты что то тут, вот держи
Код:
Развернуть Свернуть Копировать
lock(SyncObject)
{
    IGlobalVariable gv = null;
    try
    {
        // пытаемся получить глобальную переменную
        gv = project.GlobalVariables["Proverka", project.Variables["txt"].Value];
    }
    catch(KeyNotFoundException exception)
    {
        // если не удалось получить, то инициализируем значением по умолчанию.
        project.GlobalVariables.SetVariable("Proverka", project.Variables["txt"].Value,"1");
    }
   IGlobalVariable portload = null;
    portload = project.GlobalVariables["Proverka", project.Variables["txt"].Value];
   if (portload.Value == "1") // переменная равна 1
   {
     return "ok"; // возвращаем ошибку
   }
   else // інакше
   {
    return "no";
   }  

}
 
да спасибо.
Чего то заглючил мейкер от того писались ошибки.
Теперь ок
 
:bt:большущий респект я б нивжись не нашел
 

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