Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / System.Activities / System / Activities / Runtime / MappableObjectManager.cs / 1305376 / MappableObjectManager.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.Activities.Runtime { using System.Activities.Hosting; using System.Collections.Generic; using System.Globalization; using System.Runtime; using System.Runtime.Serialization; using System.Xml.Linq; [DataContract] class MappableObjectManager { [DataMember(EmitDefaultValue = false)] ListmappableLocations; public MappableObjectManager() { } public int Count { get { int result = 0; if (this.mappableLocations != null) { result += this.mappableLocations.Count; } return result; } } public IDictionary GatherMappableVariables() { Dictionary result = null; if (this.mappableLocations != null && this.mappableLocations.Count > 0) { result = new Dictionary (this.mappableLocations.Count); for (int locationIndex = 0; locationIndex < this.mappableLocations.Count; locationIndex++) { MappableLocation mappableLocation = this.mappableLocations[locationIndex]; result.Add(mappableLocation.MappingKeyName, new LocationInfo(mappableLocation.Name, mappableLocation.OwnerDisplayName, mappableLocation.Location.Value)); } } return result; } public void Register(Location location, Activity activity, LocationReference locationOwner, ActivityInstance activityInstance) { Fx.Assert(location.CanBeMapped, "should only register mappable locations"); if (this.mappableLocations == null) { this.mappableLocations = new List (); } this.mappableLocations.Add(new MappableLocation(locationOwner, activity, activityInstance, location)); } public void Unregister(Location location) { Fx.Assert(location.CanBeMapped, "should only register mappable locations"); int mappedLocationsCount = this.mappableLocations.Count; for (int i = 0; i < mappedLocationsCount; i++) { if (object.ReferenceEquals(this.mappableLocations[i].Location, location)) { this.mappableLocations.RemoveAt(i); break; } } Fx.Assert(this.mappableLocations.Count == mappedLocationsCount - 1, "can only unregister locations that have been registered"); } [DataContract] class MappableLocation { public MappableLocation(LocationReference locationOwner, Activity activity, ActivityInstance activityInstance, Location location) { this.Name = locationOwner.Name; this.OwnerDisplayName = activity.DisplayName; this.Location = location; this.MappingKeyName = string.Format(CultureInfo.InvariantCulture, "activity.{0}-{1}_{2}", activity.Id, locationOwner.Id, activityInstance.Id); } [DataMember] internal string MappingKeyName { get; private set; } [DataMember] public string Name { get; private set; } [DataMember(EmitDefaultValue = false)] public string OwnerDisplayName { get; private set; } [DataMember] internal Location Location { get; private set; } } } } // 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
- Point3DIndependentAnimationStorage.cs
- TraceShell.cs
- SQLBinaryStorage.cs
- ByteStreamGeometryContext.cs
- SizeChangedEventArgs.cs
- TimeoutHelper.cs
- PageFunction.cs
- TextBoxRenderer.cs
- ToolZone.cs
- ObjectAssociationEndMapping.cs
- DbParameterCollection.cs
- DataGridViewCellFormattingEventArgs.cs
- ResourceContainer.cs
- GlobalProxySelection.cs
- WizardForm.cs
- TreePrinter.cs
- AnnotationResource.cs
- StateChangeEvent.cs
- FilterQuery.cs
- BindingList.cs
- XmlHierarchyData.cs
- GroupByExpressionRewriter.cs
- RelatedEnd.cs
- HideDisabledControlAdapter.cs
- BStrWrapper.cs
- TripleDES.cs
- Int64KeyFrameCollection.cs
- SqlCacheDependencyDatabase.cs
- JsonXmlDataContract.cs
- PolicyManager.cs
- Schema.cs
- Console.cs
- SourceFilter.cs
- XsltContext.cs
- HGlobalSafeHandle.cs
- PersistenceException.cs
- GlyphInfoList.cs
- PermissionSet.cs
- SHA1.cs
- MdImport.cs
- InstanceDataCollection.cs
- ListItemConverter.cs
- DPTypeDescriptorContext.cs
- GifBitmapDecoder.cs
- Enum.cs
- EditingCommands.cs
- Tablet.cs
- InputReferenceExpression.cs
- AttachInfo.cs
- ISFClipboardData.cs
- XmlSchemaProviderAttribute.cs
- LZCodec.cs
- EventItfInfo.cs
- GreenMethods.cs
- CompositeDataBoundControl.cs
- RenderingEventArgs.cs
- DbProviderManifest.cs
- sqlinternaltransaction.cs
- BitmapEncoder.cs
- HttpCapabilitiesEvaluator.cs
- XPathArrayIterator.cs
- FreeFormDesigner.cs
- ConnectionProviderAttribute.cs
- ObjectHandle.cs
- EntityKey.cs
- ElementProxy.cs
- HuffModule.cs
- XmlSchema.cs
- DetailsViewDeleteEventArgs.cs
- StylusTip.cs
- DependencySource.cs
- BitSet.cs
- AnchoredBlock.cs
- AnnotationResource.cs
- WeakReadOnlyCollection.cs
- PrtTicket_Public_Simple.cs
- QilNode.cs
- ComboBoxItem.cs
- StructuredProperty.cs
- CommandField.cs
- DesignerActionListCollection.cs
- StringArrayConverter.cs
- VisualStyleTypesAndProperties.cs
- TableLayoutSettingsTypeConverter.cs
- SQLInt32Storage.cs
- XmlSerializer.cs
- validation.cs
- InkCanvasInnerCanvas.cs
- StackOverflowException.cs
- ServicePointManager.cs
- OutputCacheProviderCollection.cs
- TemplateBindingExpression.cs
- CorrelationResolver.cs
- OleDbFactory.cs
- CompiledQuery.cs
- WpfXamlLoader.cs
- HwndHost.cs
- IxmlLineInfo.cs
- SafeIUnknown.cs
- bidPrivateBase.cs