protected override void GatherOutputs(System.Activities.ActivityInstance completedInstance) { if (completedInstance.Activity.HandlerOf != null) { IList <RuntimeDelegateArgument> runtimeDelegateArguments = completedInstance.Activity.HandlerOf.RuntimeDelegateArguments; LocationEnvironment environment = completedInstance.Environment; for (int i = 0; i < runtimeDelegateArguments.Count; i++) { RuntimeDelegateArgument argument = runtimeDelegateArguments[i]; if ((argument.BoundArgument != null) && ArgumentDirectionHelper.IsOut(argument.Direction)) { Location specificLocation = environment.GetSpecificLocation(argument.BoundArgument.Id); if (specificLocation != null) { if (this.results == null) { this.results = new Dictionary <string, object>(); } this.results.Add(argument.Name, specificLocation.Value); } } } } }
// this ctor overload is to be exclusively used by DU // for creating a LocationEnvironment for "noSymbols" ActivityInstance internal LocationEnvironment(LocationEnvironment parent, int capacity) : this(null, null, parent, capacity) { }