1

ユーザーからその名前を受け取り、「hello+username」メッセージを出力する簡単なアクティビティを書き込もうとしています。

問題は、コードを介して入力されたユーザー名にアクセスできないことです。

関数は次のとおりです。

static ActivityBuilder CreateTask1()
    {
        Dictionary<string, object> properties = new Dictionary<string, object>();
        properties.Add("User_Name", new InArgument<string>());

        var res = new ActivityBuilder();

        res.Name = "Task1";

        foreach (var item in properties)
        {
            res.Properties.Add(new DynamicActivityProperty { Name = item.Key, Type = item.Value.GetType(), Value = item.Value });
        }

        Sequence c = new Sequence();

        c.Activities.Add(new WriteLine { Text = "Hello " + properties["User_Name"] });

        res.Implementation = c;

        return res;
    }

followの出力は常に「HelloUser_Name」になります。

ありがとう!

4

1 に答える 1

3

OK私は答え(そして新しい魔法の「VisualBasicValue」クラス)を見つけました:

static ActivityBuilder CreateTask1()
    {
        Dictionary<string, object> properties = new Dictionary<string, object>();
        properties.Add("User_Name", new InArgument<string>());

        var res = new ActivityBuilder();

        res.Name = "Task1";

        foreach (var item in properties)
        {
            res.Properties.Add(new DynamicActivityProperty { Name = item.Key, Type = item.Value.GetType(), Value = item.Value });
        }

        Sequence c = new Sequence();

        c.Activities.Add(new WriteLine { Text = new VisualBasicValue<string> { ExpressionText = "\"Hello \" + User_Name" } });

        res.Implementation = c;

        return res;
    }
于 2010-04-14T08:30:38.733 に答える