Установка значения аргумента в рабочем процессе 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.

Другие вопросы по тегам