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
- HtmlInputPassword.cs
- XmlSchemaSimpleType.cs
- CodeMemberField.cs
- DuplexChannelBinder.cs
- AnonymousIdentificationSection.cs
- LoginView.cs
- NamespaceList.cs
- SuppressMessageAttribute.cs
- ThreadAbortException.cs
- CompModSwitches.cs
- EntityModelSchemaGenerator.cs
- ConfigurationStrings.cs
- HtmlWindow.cs
- COM2ColorConverter.cs
- DataGridViewCellErrorTextNeededEventArgs.cs
- MarshalByValueComponent.cs
- TableColumn.cs
- RowType.cs
- WmpBitmapEncoder.cs
- TimeSpanMinutesOrInfiniteConverter.cs
- SimpleTypesSurrogate.cs
- CodeNamespaceImportCollection.cs
- CollectionsUtil.cs
- DetailsViewPagerRow.cs
- XmlDataSourceView.cs
- EdmFunction.cs
- controlskin.cs
- Parallel.cs
- TypeDescriptionProvider.cs
- WebEventCodes.cs
- BasicHttpSecurityElement.cs
- ElementUtil.cs
- DependencyPropertyAttribute.cs
- BitmapCodecInfo.cs
- ErrorLog.cs
- InternalConfigRoot.cs
- BatchParser.cs
- DrawingContextWalker.cs
- ConfigurationStrings.cs
- DataSourceXmlTextReader.cs
- MultiPropertyDescriptorGridEntry.cs
- IsolatedStorageFile.cs
- CounterCreationDataCollection.cs
- KnownColorTable.cs
- ResponseBodyWriter.cs
- ComponentResourceKey.cs
- DefaultAutoFieldGenerator.cs
- BuildResult.cs
- TextFormatterHost.cs
- ResourceType.cs
- RoleServiceManager.cs
- OdbcEnvironmentHandle.cs
- OperationResponse.cs
- DoubleLink.cs
- UpdateCompiler.cs
- BinaryConverter.cs
- AsyncWaitHandle.cs
- SubclassTypeValidator.cs
- StructuredProperty.cs
- TransactionFilter.cs
- ConnectionManagementElement.cs
- DataView.cs
- TextUtf8RawTextWriter.cs
- CustomExpression.cs
- Token.cs
- ProfilePropertyNameValidator.cs
- RepeatEnumerable.cs
- ZeroOpNode.cs
- ReliabilityContractAttribute.cs
- ValidationEventArgs.cs
- SoapCodeExporter.cs
- WebPartTransformerAttribute.cs
- TaskHelper.cs
- UnicodeEncoding.cs
- DataBindingList.cs
- FormViewInsertedEventArgs.cs
- GetPageCompletedEventArgs.cs
- ListViewContainer.cs
- RightsManagementInformation.cs
- FirstQueryOperator.cs
- XmlILStorageConverter.cs
- EdmSchemaError.cs
- XPathDocumentBuilder.cs
- SynchronizationContext.cs
- PermissionToken.cs
- OSFeature.cs
- SourceLineInfo.cs
- BitmapPalettes.cs
- DriveNotFoundException.cs
- CompiledRegexRunner.cs
- DocumentsTrace.cs
- HttpFileCollection.cs
- CoTaskMemSafeHandle.cs
- EventItfInfo.cs
- PageContentAsyncResult.cs
- ObjectReaderCompiler.cs
- ChildTable.cs
- PhysicalAddress.cs
- PeerInputChannel.cs
- PerformanceCountersElement.cs