Конвертируем зп переменные в шарп кубик

LexxWork

Client
Регистрация
31.10.2013
Сообщения
1 190
Благодарностей
791
Баллы
113
Простой универсальный снипетик: генерит обьявление переменных в шарп кубике в зависимости от регулярки и типов данных, которые обычно используются в зп переменных. Помимо string генерится преобразование в int или bool.
C#:
var regexp = "^.*"; // реуглярка если нужно выбрать определенную группу переменных 
var convert = true; // если нужно сразу переконвертировать в тип отличный от string

return string.Join("\r\n", project.Variables.Keys
    .Where(k=>Regex.IsMatch(k, regexp))
    .Select(k=>{
        var v = project.Variables[k].Value;
        var s = "var "+k+" = project.Variables[\""+k+"\"].Value;";
        if(!convert) return s;
        if(Regex.IsMatch(v, "^[\\d+-]+$"))
            s = "var "+k+" = int.Parse(project.Variables[\""+k+"\"].Value);";
        else if(Regex.IsMatch(v, "^(True|False)$"))
            s = "var "+k+" = project.Variables[\""+k+"\"].Value == \"True\";";
        return s;
    })
);
Пример:
var text = project.Variables["text"].Value;
var boolvar = project.Variables["boolvar"].Value == "True";
var digit = int.Parse(project.Variables["digit"].Value);
 
  • Спасибо
Реакции: CSS

CSS

Client
Регистрация
22.05.2010
Сообщения
1 327
Благодарностей
663
Баллы
113
Где это может быть удобно?
 

LexxWork

Client
Регистрация
31.10.2013
Сообщения
1 190
Благодарностей
791
Баллы
113
меньше всего в зеленых кубиках.
 
  • Спасибо
Реакции: CSS

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