Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / System.Activities / System / Activities / Runtime / DelegateCompletionCallbackWrapper.cs / 1305376 / DelegateCompletionCallbackWrapper.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.Activities.Runtime { using System; using System.Collections.Generic; using System.Runtime; using System.Runtime.Serialization; using System.Security; [DataContract] class DelegateCompletionCallbackWrapper : CompletionCallbackWrapper { static Type callbackType = typeof(DelegateCompletionCallback); static Type[] callbackParameterTypes = new Type [] {typeof(NativeActivityContext), typeof(ActivityInstance), typeof(IDictionary)}; [DataMember(EmitDefaultValue = false)] Dictionary results; public DelegateCompletionCallbackWrapper(DelegateCompletionCallback callback, ActivityInstance owningInstance) : base(callback, owningInstance) { this.NeedsToGatherOutputs = true; } protected override void GatherOutputs(ActivityInstance completedInstance) { if (completedInstance.Activity.HandlerOf != null) { IList runtimeArguments = completedInstance.Activity.HandlerOf.RuntimeDelegateArguments; LocationEnvironment environment = completedInstance.Environment; for (int i = 0; i < runtimeArguments.Count; i++) { RuntimeDelegateArgument runtimeArgument = runtimeArguments[i]; if (runtimeArgument.BoundArgument != null) { if (ArgumentDirectionHelper.IsOut(runtimeArgument.Direction)) { Location parameterLocation = environment.GetSpecificLocation(runtimeArgument.BoundArgument.Id); if (parameterLocation != null) { if (this.results == null) { this.results = new Dictionary (); } this.results.Add(runtimeArgument.Name, parameterLocation.Value); } } } } } } protected internal override void Invoke(NativeActivityContext context, ActivityInstance completedInstance) { EnsureCallback(callbackType, callbackParameterTypes); DelegateCompletionCallback completionCallback = (DelegateCompletionCallback)this.Callback; IDictionary returnValue = this.results; if (returnValue == null) { returnValue = ActivityUtilities.EmptyParameters; } completionCallback(context, completedInstance, returnValue); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- SmtpCommands.cs
- NameValueSectionHandler.cs
- ParserContext.cs
- URI.cs
- RolePrincipal.cs
- Run.cs
- AddInStore.cs
- GlyphRun.cs
- SoapAttributeOverrides.cs
- MarkupObject.cs
- SmtpFailedRecipientException.cs
- ObjectHelper.cs
- WeakKeyDictionary.cs
- CodeFieldReferenceExpression.cs
- HttpProfileGroupBase.cs
- ProfileSettingsCollection.cs
- PropertyInformation.cs
- StrokeSerializer.cs
- AutomationPeer.cs
- XmlAnyElementAttribute.cs
- RequestCacheEntry.cs
- HitTestResult.cs
- StorageConditionPropertyMapping.cs
- BounceEase.cs
- ReaderOutput.cs
- DataGridHeaderBorder.cs
- XmlSchemaCollection.cs
- DetailsViewRow.cs
- RegexStringValidatorAttribute.cs
- ErrorProvider.cs
- WebFormDesignerActionService.cs
- EntityDataSourceStatementEditorForm.cs
- ProxyManager.cs
- DbTypeMap.cs
- PersonalizationStateInfo.cs
- Rotation3DAnimationBase.cs
- SystemIPv6InterfaceProperties.cs
- TrackingSection.cs
- ProxyFragment.cs
- Mappings.cs
- NumberSubstitution.cs
- TemplateBindingExpression.cs
- BinaryObjectInfo.cs
- OdbcConnection.cs
- SelectedDatesCollection.cs
- SqlDataSourceSelectingEventArgs.cs
- LinqDataSourceHelper.cs
- SpellerInterop.cs
- WindowsScrollBar.cs
- FixedSOMLineCollection.cs
- DataControlFieldHeaderCell.cs
- SqlCacheDependency.cs
- DataTableReaderListener.cs
- CodeMemberMethod.cs
- SchemaManager.cs
- InputBinder.cs
- DecimalConstantAttribute.cs
- TemplateControlCodeDomTreeGenerator.cs
- ListViewTableCell.cs
- XmlNode.cs
- FloaterBaseParaClient.cs
- Inflater.cs
- DesignerTransaction.cs
- StatusBar.cs
- CookielessData.cs
- COSERVERINFO.cs
- ConsoleTraceListener.cs
- DefaultPrintController.cs
- ComboBox.cs
- ViewGenResults.cs
- SocketInformation.cs
- httpserverutility.cs
- DeflateStream.cs
- HtmlControlPersistable.cs
- AncestorChangedEventArgs.cs
- CommandLibraryHelper.cs
- COM2PropertyPageUITypeConverter.cs
- MoveSizeWinEventHandler.cs
- SchemaEntity.cs
- PrtTicket_Base.cs
- Solver.cs
- SqlProvider.cs
- Page.cs
- MimeTypePropertyAttribute.cs
- GenericTypeParameterBuilder.cs
- _ListenerAsyncResult.cs
- ZipIOExtraField.cs
- RawKeyboardInputReport.cs
- WebPartActionVerb.cs
- EditorPart.cs
- WindowsFormsHostPropertyMap.cs
- XslUrlEditor.cs
- ACE.cs
- CounterCreationData.cs
- Variant.cs
- BitStream.cs
- ListSourceHelper.cs
- TypeForwardedToAttribute.cs
- ApplicationSecurityInfo.cs
- ActionMismatchAddressingException.cs