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
- ReadOnlyCollectionBase.cs
- ResourceContainer.cs
- WindowsAuthenticationEventArgs.cs
- ComponentCommands.cs
- TagMapInfo.cs
- FlagsAttribute.cs
- RawStylusInputCustomDataList.cs
- ProcessInfo.cs
- XmlSerializerVersionAttribute.cs
- keycontainerpermission.cs
- FastPropertyAccessor.cs
- ScriptModule.cs
- InfoCardConstants.cs
- RootProfilePropertySettingsCollection.cs
- DataGridViewColumnTypeEditor.cs
- EntityDataSourceEntityTypeFilterItem.cs
- LeafCellTreeNode.cs
- TriState.cs
- SvcFileManager.cs
- TableCellAutomationPeer.cs
- HttpHeaderCollection.cs
- AuthenticationModulesSection.cs
- TextEffectCollection.cs
- ProcessModule.cs
- FileSystemInfo.cs
- Range.cs
- HyperLinkDesigner.cs
- SqlConnectionHelper.cs
- ZipPackagePart.cs
- AggregateNode.cs
- FloaterBaseParagraph.cs
- ItemsPresenter.cs
- AsymmetricSignatureDeformatter.cs
- SettingsContext.cs
- hresults.cs
- PartialCachingControl.cs
- DateRangeEvent.cs
- Selector.cs
- MenuCommands.cs
- EntityDataSource.cs
- ColorBlend.cs
- GenericUI.cs
- XmlAttributes.cs
- DataTransferEventArgs.cs
- OdbcRowUpdatingEvent.cs
- ErrorFormatterPage.cs
- ProcessRequestArgs.cs
- RelatedCurrencyManager.cs
- TdsEnums.cs
- Parameter.cs
- FileUtil.cs
- ActivityWithResultValueSerializer.cs
- ClientRolePrincipal.cs
- ParamArrayAttribute.cs
- _NetworkingPerfCounters.cs
- BindingContext.cs
- ComplexTypeEmitter.cs
- DateRangeEvent.cs
- PrimarySelectionGlyph.cs
- TimerEventSubscription.cs
- CqlQuery.cs
- CodeExporter.cs
- LexicalChunk.cs
- OdbcTransaction.cs
- DataRecordObjectView.cs
- InitializationEventAttribute.cs
- EnterpriseServicesHelper.cs
- ExceptionUtil.cs
- WebConfigurationHost.cs
- MonthChangedEventArgs.cs
- XmlSchemaSequence.cs
- QuarticEase.cs
- SoapCodeExporter.cs
- InternalsVisibleToAttribute.cs
- BamlTreeNode.cs
- HttpSessionStateBase.cs
- TreePrinter.cs
- ButtonFieldBase.cs
- TextCompositionEventArgs.cs
- OleDbSchemaGuid.cs
- ApplyTemplatesAction.cs
- BuildDependencySet.cs
- SymmetricSecurityProtocolFactory.cs
- DbMetaDataFactory.cs
- EnumConverter.cs
- ToolStripDropDownClosedEventArgs.cs
- BindValidationContext.cs
- SqlDataSourceCommandEventArgs.cs
- Expr.cs
- SignatureHelper.cs
- FocusWithinProperty.cs
- IpcChannel.cs
- OperationCanceledException.cs
- NumberAction.cs
- BooleanToSelectiveScrollingOrientationConverter.cs
- MultiAsyncResult.cs
- TripleDESCryptoServiceProvider.cs
- LocalValueEnumerator.cs
- XmlCharType.cs
- DateTimeConverter.cs