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
- EmbeddedObject.cs
- DictionaryTraceRecord.cs
- PerformanceCounterCategory.cs
- DataGridViewBand.cs
- CheckedPointers.cs
- MessageSmuggler.cs
- ThreadAttributes.cs
- ApplicationFileCodeDomTreeGenerator.cs
- TdsParserHelperClasses.cs
- KnowledgeBase.cs
- OracleDataReader.cs
- TiffBitmapDecoder.cs
- ReachPageContentSerializer.cs
- ConfigViewGenerator.cs
- CreatingCookieEventArgs.cs
- HMACSHA256.cs
- TypeInitializationException.cs
- MethodAccessException.cs
- WindowsServiceElement.cs
- sqlpipe.cs
- RequestNavigateEventArgs.cs
- TemplatedMailWebEventProvider.cs
- BindToObject.cs
- TextEditorSelection.cs
- MobileTemplatedControlDesigner.cs
- MaterialGroup.cs
- FacetChecker.cs
- WindowsSlider.cs
- FieldNameLookup.cs
- String.cs
- XmlHierarchicalEnumerable.cs
- BrowserCapabilitiesFactory35.cs
- Error.cs
- HtmlLink.cs
- CapabilitiesAssignment.cs
- EventListenerClientSide.cs
- WebEvents.cs
- RSAPKCS1SignatureFormatter.cs
- SqlCachedBuffer.cs
- Brushes.cs
- XmlSchemaSimpleTypeUnion.cs
- XsdCachingReader.cs
- UIElementPropertyUndoUnit.cs
- FragmentNavigationEventArgs.cs
- DataListItemCollection.cs
- DocumentGrid.cs
- CmsInterop.cs
- CLSCompliantAttribute.cs
- DataComponentGenerator.cs
- ClassicBorderDecorator.cs
- XmlValidatingReader.cs
- XmlValidatingReaderImpl.cs
- UrlPropertyAttribute.cs
- CodeCommentStatement.cs
- PaintEvent.cs
- SelectionWordBreaker.cs
- NameSpaceExtractor.cs
- EntityConnectionStringBuilder.cs
- Help.cs
- DataBoundControlAdapter.cs
- ReadOnlyDataSourceView.cs
- XmlBufferReader.cs
- SQLRoleProvider.cs
- LeaseManager.cs
- ExtentKey.cs
- HttpDictionary.cs
- WindowsScrollBar.cs
- CqlWriter.cs
- Timeline.cs
- HttpCookieCollection.cs
- formatter.cs
- SecurityTokenRequirement.cs
- XmlSchemaSet.cs
- SwitchAttribute.cs
- Set.cs
- SystemThemeKey.cs
- PageWrapper.cs
- TableLayoutRowStyleCollection.cs
- NoClickablePointException.cs
- TextEditorMouse.cs
- SqlUtils.cs
- SchemeSettingElement.cs
- ToolStripEditorManager.cs
- Queue.cs
- WebPermission.cs
- ElementHost.cs
- LazyLoadBehavior.cs
- XPathAxisIterator.cs
- OdbcParameterCollection.cs
- CalendarDateChangedEventArgs.cs
- ModelService.cs
- ServerValidateEventArgs.cs
- ListParaClient.cs
- TreePrinter.cs
- CopyOnWriteList.cs
- DbSetClause.cs
- HttpModuleAction.cs
- KeyPressEvent.cs
- ResourceManager.cs
- XPathDocumentBuilder.cs