Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / Serialization / System / Xml / XmlDictionary.cs / 1 / XmlDictionary.cs
//------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------- namespace System.Xml { using System; using System.IO; using System.Xml; using System.Collections; using System.Collections.Generic; using System.Diagnostics; using System.Text; using System.Runtime.Serialization; public class XmlDictionary : IXmlDictionary { static IXmlDictionary empty; Dictionarylookup; XmlDictionaryString[] strings; int nextId; static public IXmlDictionary Empty { get { if (empty == null) empty = new EmptyDictionary(); return empty; } } public XmlDictionary() { this.lookup = new Dictionary (); this.strings = null; this.nextId = 0; } public XmlDictionary(int capacity) { this.lookup = new Dictionary (capacity); this.strings = new XmlDictionaryString[capacity]; this.nextId = 0; } public virtual XmlDictionaryString Add(string value) { XmlDictionaryString str; if (!this.lookup.TryGetValue(value, out str)) { if (this.strings == null) { this.strings = new XmlDictionaryString[4]; } else if (this.nextId == this.strings.Length) { int newSize = this.nextId * 2; if (newSize == 0) newSize = 4; Array.Resize(ref this.strings, newSize); } str = new XmlDictionaryString(this, value, this.nextId); this.strings[this.nextId] = str; this.lookup.Add(value, str); this.nextId++; } return str; } public virtual bool TryLookup(string value, out XmlDictionaryString result) { return this.lookup.TryGetValue(value, out result); } public virtual bool TryLookup(int key, out XmlDictionaryString result) { if (key < 0 || key >= this.nextId) { result = null; return false; } result = this.strings[key]; return true; } public virtual bool TryLookup(XmlDictionaryString value, out XmlDictionaryString result) { if (value == null) throw System.Runtime.Serialization.DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentNullException("value")); if (value.Dictionary != this) { result = null; return false; } result = value; return true; } class EmptyDictionary : IXmlDictionary { public bool TryLookup(string value, out XmlDictionaryString result) { result = null; return false; } public bool TryLookup(int key, out XmlDictionaryString result) { result = null; return false; } public bool TryLookup(XmlDictionaryString value, out XmlDictionaryString result) { result = null; return false; } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- SqlException.cs
- ChangePassword.cs
- Application.cs
- ListDesigner.cs
- WindowsToolbarItemAsMenuItem.cs
- Lasso.cs
- PartDesigner.cs
- SelectionRangeConverter.cs
- AttributeAction.cs
- Msec.cs
- CodeCastExpression.cs
- RotateTransform.cs
- ObfuscateAssemblyAttribute.cs
- ImageBrush.cs
- DesignerActionPropertyItem.cs
- ClientSponsor.cs
- TextSelectionHelper.cs
- InfoCardRequestException.cs
- RemotingConfigParser.cs
- InternalPermissions.cs
- Size.cs
- DbConnectionPoolGroupProviderInfo.cs
- ConfigurationPermission.cs
- CodeStatement.cs
- AuthorizationSection.cs
- SqlDataSourceView.cs
- MailMessageEventArgs.cs
- ZipIOLocalFileBlock.cs
- SharedPerformanceCounter.cs
- ServiceParser.cs
- RadioButtonPopupAdapter.cs
- CultureTable.cs
- AppDomainUnloadedException.cs
- CellConstantDomain.cs
- DataReaderContainer.cs
- WindowsEditBoxRange.cs
- TreeNodeMouseHoverEvent.cs
- SmiMetaData.cs
- ChildTable.cs
- IPGlobalProperties.cs
- TypeConvertions.cs
- RichTextBoxConstants.cs
- OptimalTextSource.cs
- ExtensionSurface.cs
- SatelliteContractVersionAttribute.cs
- SoapSchemaImporter.cs
- ErrorWebPart.cs
- _LazyAsyncResult.cs
- DecoderBestFitFallback.cs
- PropertyMap.cs
- querybuilder.cs
- GlobalEventManager.cs
- ConfigXmlWhitespace.cs
- ImageDrawing.cs
- FileUtil.cs
- VisualStyleInformation.cs
- WindowsListViewSubItem.cs
- PathFigureCollectionValueSerializer.cs
- EventBuilder.cs
- StreamReader.cs
- Shape.cs
- PageThemeCodeDomTreeGenerator.cs
- MappingMetadataHelper.cs
- TCEAdapterGenerator.cs
- Helpers.cs
- RichTextBox.cs
- ConfigurationStrings.cs
- GenerateHelper.cs
- MetadataCacheItem.cs
- SynchronizationContext.cs
- PingOptions.cs
- UIElementAutomationPeer.cs
- ReadOnlyDictionary.cs
- PlanCompiler.cs
- RelationshipConverter.cs
- TypeReference.cs
- RegexReplacement.cs
- QilDataSource.cs
- EdmToObjectNamespaceMap.cs
- SamlAction.cs
- TableRow.cs
- HostingPreferredMapPath.cs
- Nodes.cs
- LogArchiveSnapshot.cs
- basevalidator.cs
- SerialPort.cs
- WindowsSolidBrush.cs
- ReturnType.cs
- ViewCellSlot.cs
- OleDbFactory.cs
- PathSegmentCollection.cs
- DummyDataSource.cs
- ObjectListFieldsPage.cs
- XPathException.cs
- InternalPermissions.cs
- DataGridViewSelectedCellCollection.cs
- Storyboard.cs
- ThreadLocal.cs
- RequestCacheValidator.cs
- Int16AnimationUsingKeyFrames.cs