Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / Serialization / System / Xml / XmlDictionaryString.cs / 1 / 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. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- SaveFileDialog.cs
- Utils.cs
- ExtentCqlBlock.cs
- VSWCFServiceContractGenerator.cs
- GenerateTemporaryTargetAssembly.cs
- QilValidationVisitor.cs
- ResXResourceReader.cs
- MenuItemStyle.cs
- ThreadWorkerController.cs
- ResourceExpression.cs
- BuilderPropertyEntry.cs
- FormsAuthenticationEventArgs.cs
- ToolstripProfessionalRenderer.cs
- ObjectListShowCommandsEventArgs.cs
- WindowsListViewGroup.cs
- HostVisual.cs
- ByteKeyFrameCollection.cs
- SettingsSavedEventArgs.cs
- NamespaceEmitter.cs
- glyphs.cs
- ValueChangedEventManager.cs
- safesecurityhelperavalon.cs
- Rfc2898DeriveBytes.cs
- InfiniteTimeSpanConverter.cs
- DataGridViewCellMouseEventArgs.cs
- ShapingEngine.cs
- IdentityReference.cs
- HiddenFieldPageStatePersister.cs
- Timer.cs
- OleDbException.cs
- ColorConverter.cs
- NamedPermissionSet.cs
- ControlCachePolicy.cs
- CommandBindingCollection.cs
- ScrollPatternIdentifiers.cs
- Rect3DConverter.cs
- ClickablePoint.cs
- ToolStripItemTextRenderEventArgs.cs
- Itemizer.cs
- SrgsText.cs
- Rect3DValueSerializer.cs
- ModelChangedEventArgsImpl.cs
- COM2Enum.cs
- WindowsListViewItemCheckBox.cs
- ProfileSettingsCollection.cs
- TextEffect.cs
- ExceptQueryOperator.cs
- DispatcherExceptionEventArgs.cs
- MarkupCompiler.cs
- DelegateBodyWriter.cs
- EmbeddedMailObjectsCollection.cs
- AnnotationHelper.cs
- ConnectionInterfaceCollection.cs
- SafeNativeMethodsCLR.cs
- ObjectListCommand.cs
- HashHelper.cs
- JoinElimination.cs
- ClientRolePrincipal.cs
- RichTextBoxConstants.cs
- ConnectionsZone.cs
- PropertyReferenceSerializer.cs
- XmlAnyElementAttributes.cs
- MetadataImporterQuotas.cs
- Header.cs
- JsonSerializer.cs
- FrameworkRichTextComposition.cs
- TypeConverter.cs
- Int32CollectionConverter.cs
- SortQuery.cs
- SoapInteropTypes.cs
- ShapingWorkspace.cs
- ModelChangedEventArgsImpl.cs
- ComplexPropertyEntry.cs
- DataServiceKeyAttribute.cs
- JobDuplex.cs
- httpserverutility.cs
- RedistVersionInfo.cs
- WorkflowDispatchContext.cs
- StorageScalarPropertyMapping.cs
- AlternationConverter.cs
- MetadataItemSerializer.cs
- LayoutInformation.cs
- DataGridViewSelectedColumnCollection.cs
- WebPartConnectionsConfigureVerb.cs
- HttpRuntime.cs
- InfoCardRSAOAEPKeyExchangeDeformatter.cs
- ColorTransformHelper.cs
- SizeChangedInfo.cs
- TextEndOfLine.cs
- BitArray.cs
- SpnegoTokenAuthenticator.cs
- ObjRef.cs
- DataKeyCollection.cs
- InputProcessorProfilesLoader.cs
- Msec.cs
- WinInet.cs
- PeerServiceMessageContracts.cs
- InlineCollection.cs
- HostedAspNetEnvironment.cs
- DependencyObjectType.cs