0

以下の XAML の抜粋を C# で書き直すことができません。

<Activity 
  xmlns:swm="clr-namespace:System.Web.Mvc;assembly=System.Web.Mvc" 
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
>
  <x:Members>
    <x:Property 
      Name="ViewData" 
      Type="InArgument(swm:ViewDataDictionary)" />
  </x:Members>
  <Assign>
    <Assign.To>
      <OutArgument x:TypeArguments="x:Object">[ViewData("Foo")]</OutArgument>
    </Assign.To>
    <Assign.Value>
      <InArgument x:TypeArguments="x:Object">["funky foo string"]</InArgument>
    </Assign.Value>
  </Assign>
</Activity>

誰でもこれに光を当てることができますか?

4

1 に答える 1

0
  var dic = new Dictionary<string, object>();
  dic.Add("foo", "before");
  var activity = new Assign {
    To = new OutArgument<object>(_ => dic["foo"]),
    Value = new InArgument<object>( _ => (object)"after")
  };

  WorkflowInvoker.Invoke(activity);

式を受け入れる In/Out 引数のオーバーロードを使用する必要があります。また、「後」をオブジェクトに明示的にキャストする必要がありました。そうしないと、ワークフローの検証で、型が一致しないという苦情がありました。

于 2012-07-05T15:30:51.530 に答える