Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / WCF / Serialization / System / Xml / XmlDictionaryString.cs / 1305376 / XmlDictionaryString.cs
//------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------- namespace System.Xml { using System; using System.Xml; using System.Text; using System.Diagnostics; using System.Runtime.Serialization; public class XmlDictionaryString { internal const int MinKey = 0; internal const int MaxKey = int.MaxValue / 4; IXmlDictionary dictionary; string value; int key; byte[] buffer; static EmptyStringDictionary emptyStringDictionary = new EmptyStringDictionary(); public XmlDictionaryString(IXmlDictionary dictionary, string value, int key) { if (dictionary == null) throw System.Runtime.Serialization.DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentNullException("dictionary")); if (value == null) throw System.Runtime.Serialization.DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentNullException("value")); if (key < MinKey || key > MaxKey) throw System.Runtime.Serialization.DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentOutOfRangeException("key", SR.GetString(SR.ValueMustBeInRange, MinKey, MaxKey))); this.dictionary = dictionary; this.value = value; this.key = key; } static internal string GetString(XmlDictionaryString s) { if (s == null) return null; return s.Value; } static public XmlDictionaryString Empty { get { return emptyStringDictionary.EmptyString; } } public IXmlDictionary Dictionary { get { return dictionary; } } public int Key { get { return key; } } public string Value { get { return value; } } internal byte[] ToUTF8() { if (buffer == null) buffer = System.Text.Encoding.UTF8.GetBytes(value); return buffer; } public override string ToString() { return value; } class EmptyStringDictionary : IXmlDictionary { XmlDictionaryString empty; public EmptyStringDictionary() { empty = new XmlDictionaryString(this, string.Empty, 0); } public XmlDictionaryString EmptyString { get { return empty; } } public bool TryLookup(string value, out XmlDictionaryString result) { if (value == null) throw System.Runtime.Serialization.DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("value"); if (value.Length == 0) { result = empty; return true; } result = null; return false; } public bool TryLookup(int key, out XmlDictionaryString result) { if (key == 0) { result = empty; return true; } result = null; return false; } public 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; } } } } // 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
- ListView.cs
- BinaryObjectInfo.cs
- SchemaTableOptionalColumn.cs
- TargetControlTypeCache.cs
- XmlSchemaAnnotated.cs
- MdImport.cs
- HwndProxyElementProvider.cs
- GeneratedCodeAttribute.cs
- X509PeerCertificateAuthentication.cs
- OpenTypeLayout.cs
- TextSegment.cs
- _WebProxyDataBuilder.cs
- HttpApplicationFactory.cs
- DnsPermission.cs
- ChannelReliableSession.cs
- SecurityContext.cs
- CustomAttributeFormatException.cs
- OutOfMemoryException.cs
- TextBoxBase.cs
- Win32Native.cs
- XmlDsigSep2000.cs
- SimpleExpression.cs
- SettingsBase.cs
- ServiceRoute.cs
- CodeCastExpression.cs
- PageWrapper.cs
- Win32Exception.cs
- SelectionHighlightInfo.cs
- InternalTypeHelper.cs
- CalendarDay.cs
- _TLSstream.cs
- JoinCqlBlock.cs
- EndpointFilterProvider.cs
- ProcessHostMapPath.cs
- SqlClientWrapperSmiStream.cs
- XhtmlStyleClass.cs
- EllipseGeometry.cs
- XmlUtil.cs
- IdnMapping.cs
- QilScopedVisitor.cs
- ValidationPropertyAttribute.cs
- ExpressionBindingCollection.cs
- Binding.cs
- LocalizationComments.cs
- DataGridSortCommandEventArgs.cs
- NativeMethods.cs
- ReadContentAsBinaryHelper.cs
- GrammarBuilderDictation.cs
- Int16KeyFrameCollection.cs
- LockCookie.cs
- Utils.cs
- SettingsPropertyWrongTypeException.cs
- FormViewInsertEventArgs.cs
- StringArrayConverter.cs
- EndEvent.cs
- Interop.cs
- StringUtil.cs
- Asn1IntegerConverter.cs
- SchemaSetCompiler.cs
- CompilationPass2Task.cs
- SoapEnumAttribute.cs
- Thickness.cs
- HitTestWithGeometryDrawingContextWalker.cs
- shaperfactoryquerycachekey.cs
- XmlDataProvider.cs
- AncestorChangedEventArgs.cs
- EntityContainerEntitySet.cs
- SemanticResultKey.cs
- GeneralTransform3DCollection.cs
- CombinedGeometry.cs
- ShowExpandedMultiValueConverter.cs
- ContextMenuStripGroupCollection.cs
- StylusEditingBehavior.cs
- ReadOnlyDataSourceView.cs
- PrivilegeNotHeldException.cs
- MessageDesigner.cs
- XmlRootAttribute.cs
- HiddenFieldPageStatePersister.cs
- TypeInformation.cs
- DbBuffer.cs
- SchemaMapping.cs
- CachingHintValidation.cs
- WeakReadOnlyCollection.cs
- MetafileHeaderWmf.cs
- TableRow.cs
- ReflectEventDescriptor.cs
- PtsHost.cs
- CqlWriter.cs
- DocumentGridPage.cs
- SkewTransform.cs
- FontWeights.cs
- ArgumentException.cs
- ClassicBorderDecorator.cs
- PenThreadWorker.cs
- TypedReference.cs
- TrustLevel.cs
- OdbcConnectionStringbuilder.cs
- StyleBamlTreeBuilder.cs
- cookiecontainer.cs
- DispatcherExceptionFilterEventArgs.cs