Установка значения аргумента в рабочем процессе C#
Я использую Windows Workflow Foundation .NET 4.5.2. У меня есть проблема, касающаяся установки аргумента типа bool
(может быть также переменной) в конструкторе изнутри CodeActivity.
В конструкторе я установил аргумент newProject
типа bool
с направлением In
, (должно ли оно иметь другое направление? т.е. InOut
).
В коде я хочу установить аргумент из конструктора в значение true
,
public class Inquire : CodeActivity
{
public InArgument<bool> newProject { get; set; }
public InArgument<bool> rework { get; set; }
protected override void Execute(CodeActivityContext context)
{
Console.WriteLine("For a new project type 'new', for rework type 'rw'.");
string inquire = Console.ReadLine();
if (inquire == "new")
{
context.SetValue(newProject, true);
}
else
{
rework.Set(context, true);
}
}
}
Аргумент в конструкторе проверяется при переходе, который позволяет мне перейти в следующее состояние. Если это true
Я могу добраться до следующего состояния. Проблема в том, что аргумент в конструкторе не получает новое значение, установленное в приведенном выше коде. Как это можно сделать?
1 ответ
Если вы хотите передать значение обратно в конструктор, вам нужно сделать его либо аргументом Out, либо аргументом InOut.