Добавить альтернативное-короткое написание переменных в C#

Castaneda

Client
Регистрация
24.05.2019
Сообщения
815
Благодарностей
275
Баллы
63
Из года в год мы пишем переменные через ужасно длинные project.variables["qqq"].value и теряем до 1 года жизни на этом.
А могли бы заняться полезным делом, побыть с семьей, близкими, увидеть мир. Это отбирает кучу нашего времени.
Хватит это терпеть!

Сделайте использование переменных в кубике C# удобным и кратким!
напр. $qqq или {-variables.qqq-}

75497
 
  • Спасибо
Реакции: Roman48

Mikhail B.

Moderator
Регистрация
23.12.2014
Сообщения
14 303
Благодарностей
5 421
Баллы
113
Заголовок темы должен отражать суть предложения.
 

Castaneda

Client
Регистрация
24.05.2019
Сообщения
815
Благодарностей
275
Баллы
63
Регистрация
05.06.2019
Сообщения
570
Благодарностей
453
Баллы
63
Пожалуйста, метод расширения:
C#:
public static class Extension
{
    public static string Variable (this IZennoPosterProjectModel project, string nameProjectVariable)
    {
        return project.Variables[nameProjectVariable].Value;
    }
}
Вызов из Свой C# код
C#:
project.Variable("text");
 
  • Спасибо
Реакции: lbvf65

lbvf65

Client
Регистрация
20.08.2020
Сообщения
438
Благодарностей
113
Баллы
43
Пожалуйста, метод расширения:
C#:
public static class Extension
{
    public static string Variable (this IZennoPosterProjectModel project, string nameProjectVariable)
    {
        return project.Variables[nameProjectVariable].Value;
    }
}
Вызов из Свой C# код
C#:
project.Variable("text");

или можно так (если я правильно понял)

C#:
int r = Convert.ToInt32(project.Variables["Q111"].Value);
Вызов из Свой C# код

C#:
r
 

Castaneda

Client
Регистрация
24.05.2019
Сообщения
815
Благодарностей
275
Баллы
63
Регистрация
05.06.2019
Сообщения
570
Благодарностей
453
Баллы
63
а что изменилось?
а что вам надо, то и делайте, все от задачи зависит.

чем {-variables.qqq-} отличается от project.Variables["qqq"].Value
я предположил и сократил, до project.Variable("qqq")

можно хоть до project.Var("qqq")
 
Регистрация
05.06.2019
Сообщения
570
Благодарностей
453
Баллы
63
вот $qqq, да, отличная идея, но это уже php какой-то
 

Castaneda

Client
Регистрация
24.05.2019
Сообщения
815
Благодарностей
275
Баллы
63

Alexmd

Client
Регистрация
10.12.2018
Сообщения
1 021
Благодарностей
1 383
Баллы
113
А так? Не $var, но все же и не project.Variables["var"].Value = "Hello";
C#:
// в общем коде напишем свои методы
public class Vars{
        private IZennoPosterProjectModel project;
        public Vars(IZennoPosterProjectModel project){
            this.project = project;
        }
        /// <summary>
        /// Установка значения в переменную
        /// </summary>
        /// <param name="name">имя переменной</param>
        /// <param name="value">значение</param>
        public void Set(string name, string value){
            if(this.project.Variables.Keys.Contains(name))
                this.project.Variables[name].Value = value;
            else this.project.SendWarningToLog("переменной '" + name + "' не существует");
        }
        /// <summary>
        /// Установка значения в переменную
        /// </summary>
        /// <param name="name">имя переменной</param>
        /// <param name="value">значение</param>
        public void Set(string name, int value){
            if(this.project.Variables.Keys.Contains(name))
                this.project.Variables[name].Value = value.ToString();
            else this.project.SendWarningToLog("переменной '" + name + "' не существует");
        }
        /// <summary>
        /// Очистка переменной
        /// </summary>
        /// <param name="name">имя переменной</param>
        public void Clear(string name){
            if(this.project.Variables.Keys.Contains(name))
                this.project.Variables[name].Value = string.Empty;
            else this.project.SendWarningToLog("переменной '" + name + "' не существует");
        }
        /// <summary>
        /// Очистка массива переменных
        /// </summary>
        /// <param name="names">массив с именами переменных</param>
        public void massClear(string[] names){
            foreach(string name in names){
                if(this.project.Variables.Keys.Contains(name))
                    this.project.Variables[name].Value = string.Empty;
                else this.project.SendWarningToLog("переменной '" + name + "' не существует");
            }
        }
    }
//Вызов в кубике
var Vars = new Vars(project);

//работа с переменными
Vars.Set("var1", "Hello World");//установка значения
Vars.Set("var2", 1);//установка числового значения
Vars.Clear("var1");//очистка переменной
Vars.massClear(new[]{"var1", "var2"})//массовая очистка переменных
 
  • Спасибо
Реакции: Маломальский

Castaneda

Client
Регистрация
24.05.2019
Сообщения
815
Благодарностей
275
Баллы
63
А так? Не $var, но все же и не project.Variables["var"].Value = "Hello";
C#:
// в общем коде напишем свои методы
public class Vars{
        private IZennoPosterProjectModel project;
        public Vars(IZennoPosterProjectModel project){
            this.project = project;
        }
        /// <summary>
        /// Установка значения в переменную
        /// </summary>
        /// <param name="name">имя переменной</param>
        /// <param name="value">значение</param>
        public void Set(string name, string value){
            if(this.project.Variables.Keys.Contains(name))
                this.project.Variables[name].Value = value;
            else this.project.SendWarningToLog("переменной '" + name + "' не существует");
        }
        /// <summary>
        /// Установка значения в переменную
        /// </summary>
        /// <param name="name">имя переменной</param>
        /// <param name="value">значение</param>
        public void Set(string name, int value){
            if(this.project.Variables.Keys.Contains(name))
                this.project.Variables[name].Value = value.ToString();
            else this.project.SendWarningToLog("переменной '" + name + "' не существует");
        }
        /// <summary>
        /// Очистка переменной
        /// </summary>
        /// <param name="name">имя переменной</param>
        public void Clear(string name){
            if(this.project.Variables.Keys.Contains(name))
                this.project.Variables[name].Value = string.Empty;
            else this.project.SendWarningToLog("переменной '" + name + "' не существует");
        }
        /// <summary>
        /// Очистка массива переменных
        /// </summary>
        /// <param name="names">массив с именами переменных</param>
        public void massClear(string[] names){
            foreach(string name in names){
                if(this.project.Variables.Keys.Contains(name))
                    this.project.Variables[name].Value = string.Empty;
                else this.project.SendWarningToLog("переменной '" + name + "' не существует");
            }
        }
    }
//Вызов в кубике
var Vars = new Vars(project);

//работа с переменными
Vars.Set("var1", "Hello World");//установка значения
Vars.Set("var2", 1);//установка числового значения
Vars.Clear("var1");//очистка переменной
Vars.massClear(new[]{"var1", "var2"})//массовая очистка переменных

заберу в копилку))

но все же
по сути для разработчиков - это 10-20 строк кода и никаких костылей)

как бы это упростило жизнь)

Голосуйте!
 
Регистрация
05.06.2019
Сообщения
570
Благодарностей
453
Баллы
63

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