Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / WCF / Serialization / System / Runtime / Serialization / HybridObjectCache.cs / 1305376 / HybridObjectCache.cs
//------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------- namespace System.Runtime.Serialization { using System; using System.Xml; using System.Collections.Generic; internal class HybridObjectCache { DictionaryobjectDictionary; Dictionary referencedObjectDictionary; internal HybridObjectCache() { } internal void Add(string id, object obj) { if (objectDictionary == null) objectDictionary = new Dictionary (); object existingObject; if (objectDictionary.TryGetValue(id, out existingObject)) throw System.Runtime.Serialization.DiagnosticUtility.ExceptionUtility.ThrowHelperError(XmlObjectSerializer.CreateSerializationException(SR.GetString(SR.MultipleIdDefinition, id))); objectDictionary.Add(id, obj); } internal void Remove(string id) { if (objectDictionary != null) objectDictionary.Remove(id); } internal object GetObject(string id) { if (referencedObjectDictionary == null) { referencedObjectDictionary = new Dictionary (); referencedObjectDictionary.Add(id, null); } else if (!referencedObjectDictionary.ContainsKey(id)) { referencedObjectDictionary.Add(id, null); } if (objectDictionary != null) { object obj; objectDictionary.TryGetValue(id, out obj); return obj; } return null; } internal bool IsObjectReferenced(string id) { if (referencedObjectDictionary != null) { return referencedObjectDictionary.ContainsKey(id); } return false; } } } // 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
- ShortcutKeysEditor.cs
- Visual3D.cs
- ViewGenResults.cs
- MemoryStream.cs
- FixedDocumentPaginator.cs
- CheckBoxStandardAdapter.cs
- BuildProviderCollection.cs
- ImageConverter.cs
- VirtualizedItemPattern.cs
- DelayedRegex.cs
- DataSourceView.cs
- BaseComponentEditor.cs
- ApplicationSettingsBase.cs
- BoundPropertyEntry.cs
- ImageListStreamer.cs
- EntityContainerRelationshipSet.cs
- DescendantOverDescendantQuery.cs
- Viewport2DVisual3D.cs
- ChildChangedEventArgs.cs
- pingexception.cs
- cache.cs
- HideDisabledControlAdapter.cs
- Registration.cs
- HtmlTernaryTree.cs
- FixedStringLookup.cs
- unsafeIndexingFilterStream.cs
- EventMemberCodeDomSerializer.cs
- NetStream.cs
- ElementUtil.cs
- HtmlElementCollection.cs
- ItemsPresenter.cs
- SeverityFilter.cs
- SqlDataSourceAdvancedOptionsForm.cs
- XsdCachingReader.cs
- TreeNodeCollection.cs
- QilInvokeLateBound.cs
- SqlMethodCallConverter.cs
- ExpressionBindingsDialog.cs
- ElementsClipboardData.cs
- QueryTreeBuilder.cs
- GlobalProxySelection.cs
- CatalogPartCollection.cs
- Converter.cs
- ConfigXmlAttribute.cs
- TransactionManagerProxy.cs
- WebHttpBindingElement.cs
- RewritingSimplifier.cs
- BinHexEncoder.cs
- SearchForVirtualItemEventArgs.cs
- DataSourceCacheDurationConverter.cs
- DataGridItemCollection.cs
- HwndTarget.cs
- HttpRequestBase.cs
- PeerCustomResolverBindingElement.cs
- CompilerCollection.cs
- RawStylusInputCustomDataList.cs
- MemberJoinTreeNode.cs
- UpdateCommandGenerator.cs
- TabRenderer.cs
- EncoderReplacementFallback.cs
- LinqDataSourceUpdateEventArgs.cs
- WindowsMenu.cs
- DataSourceComponent.cs
- Parsers.cs
- OdbcConnectionString.cs
- AnnouncementEventArgs.cs
- PageThemeBuildProvider.cs
- InputProcessorProfiles.cs
- DragDeltaEventArgs.cs
- X509ChainElement.cs
- MasterPageParser.cs
- FixedHighlight.cs
- ConfigurationSettings.cs
- BitmapSizeOptions.cs
- RtfToXamlReader.cs
- FieldMetadata.cs
- RoutedUICommand.cs
- ChildrenQuery.cs
- PhysicalOps.cs
- CodeStatement.cs
- HttpCachePolicyElement.cs
- ToolStripItemEventArgs.cs
- Gdiplus.cs
- XamlSerializationHelper.cs
- DecoderNLS.cs
- ECDiffieHellman.cs
- EventLogQuery.cs
- NotifyParentPropertyAttribute.cs
- ToolStripSystemRenderer.cs
- Duration.cs
- ChildChangedEventArgs.cs
- SourceFileBuildProvider.cs
- MasterPageBuildProvider.cs
- ListMarkerLine.cs
- ValidationEventArgs.cs
- ToolStripPanelRenderEventArgs.cs
- WindowPatternIdentifiers.cs
- RuntimeConfigLKG.cs
- PieceDirectory.cs
- DetailsViewRow.cs