- Регистрация
- 31.10.2013
- Сообщения
- 1 190
- Благодарностей
- 791
- Баллы
- 113
Простой универсальный снипетик: генерит обьявление переменных в шарп кубике в зависимости от регулярки и типов данных, которые обычно используются в зп переменных. Помимо string генерится преобразование в int или bool.
Пример:
var text = project.Variables["text"].Value;
var boolvar = project.Variables["boolvar"].Value == "True";
var digit = int.Parse(project.Variables["digit"].Value);
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);