Добавление в список с использование Context

Medvedoc

Client
Регистрация
01.04.2017
Сообщения
164
Благодарностей
10
Баллы
18
Добрый вечер!
Суть в следующем. Есть два кубика на C#. В одном происходит инициализация списка, а во втором добавление из переменной в него данных с использованием разделителя. Но в итоге выдает ошибку.

Кубик 1:
C#:
List<string> stringlist = new List<string>();
project.Context["myList"] = stringlist;
Кубик 2:
C#:
List<string> stringlist = (List<string>)project.Context["myList"];
string a = "text1;text2;text3";
Macros.TextProcessing.ToList(a, "\r\n", "Text", project, stringlist);
return stringlist.First();
В переменную "a" по сути будут приходить данные из файла в виде строк. Мне все эти строки нужно добавить в созданный список.
Если использую созданный объект project.List["MyList"], то все срабатывает.
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 691
Баллы
113

Medvedoc

Client
Регистрация
01.04.2017
Сообщения
164
Благодарностей
10
Баллы
18
в логах же ошибка пишется. у тебя происходит не соответствие типов передаваемых данных.

Посмотреть вложение 64968
А как можно поправить? Обычным экшеном списка все происходит нормально. Может для List другой тип нужно использовать, а не string?
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 691
Баллы
113
поправить... а в каком направлении ? вот бы задачу полностью узнать. а то контекст.... два кубика... а чем например список зенки не устраивает ? там и контекст не нужен, он и так общий в проекте.
 

Medvedoc

Client
Регистрация
01.04.2017
Сообщения
164
Благодарностей
10
Баллы
18
В планах было обойтись без создания отдельного объекта Списка. А в самом коде просто создать список без привязки и уже с ним работать.
 

Medvedoc

Client
Регистрация
01.04.2017
Сообщения
164
Благодарностей
10
Баллы
18
Объявить список, передать его в другой кубик и уже его использовать для добавления из переменной данных, которые разделены между собой новой строкой.
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 691
Баллы
113
ну принципе то он передается. вот только дальше с ним надо работать методами C# , а не встроенными функциями Зенки.
Если нужны встроенные функции зенки, то и список какой-то нужен зенковский. придется список передаваемый через контекст постоянно перекладывать в этот зенковский список и после обработки складывать обратно.
Возможно конечно есть быстрые методы конвертации типов, но я чот не в курсе. может кто из кодеров подскажет.
 
  • Спасибо
Реакции: Medvedoc

Medvedoc

Client
Регистрация
01.04.2017
Сообщения
164
Благодарностей
10
Баллы
18
вообщем проще использовать стандартный список и не заморачиваться )
 

Yuriy Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
6 373
Благодарностей
3 297
Баллы
113
Context сбрасывается, при изменении шаблона, что неудобно.
 
  • Спасибо
Реакции: doc

Medvedoc

Client
Регистрация
01.04.2017
Сообщения
164
Благодарностей
10
Баллы
18
Context сбрасывается, при изменении шаблона, что неудобно.
я просто все создаваемые и в дальнейшем используемые через Context переменные и списки объявляю в отдельном кубике C#. и при необходимости в нем меняю, чтобы не искать по всему коду.

Просто переписываю сейчас свою задачку на C#и хотел как можно меньше использовать сами объекты, а создавать их без привязки.
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 691
Баллы
113
отладка шаблона будет ну очень трудная при использовании контекста. любое изменение в шабе , даже просто кубик если передвинуть, контекст сразу же обнуляется.
Конечно это дело личное, но тут попахивает ежиками с кактусом :-)
 

Medvedoc

Client
Регистрация
01.04.2017
Сообщения
164
Благодарностей
10
Баллы
18
отладка шаблона будет ну очень трудная при использовании контекста. любое изменение в шабе , даже просто кубик если передвинуть, контекст сразу же обнуляется.
Конечно это дело личное, но тут попахивает ежиками с кактусом :-)
Убедили ))) перехожу на обычные переменные. Просто мне почему-то показалось удобным использовать Context
 

anorak

Client
Регистрация
15.04.2020
Сообщения
8
Благодарностей
2
Баллы
3
Если я правильно понял, что было нужно, второй кубик должен быть каким-то таким:
C#:
List<string> stringlist = project.Context["myList"];
string a = "text1;text2;text3";
stringlist = a.Split(';').ToList(); // разделить строку через ";", сделать списком. Но это если пустой список был
project.Context["myList"] = stringlist; //обратно в контекст записать
Ну и если надо вернуть первый:
C#:
return stringlist[0];
 

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