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
- PrintDialog.cs
- FuncCompletionCallbackWrapper.cs
- Evidence.cs
- ViewCellRelation.cs
- Literal.cs
- BulletDecorator.cs
- LinqDataSourceHelper.cs
- LineUtil.cs
- DeclarativeCatalogPartDesigner.cs
- PersonalizablePropertyEntry.cs
- HwndAppCommandInputProvider.cs
- dsa.cs
- ConfigurationElementProperty.cs
- WbemException.cs
- PolicyFactory.cs
- RouteValueDictionary.cs
- ReadOnlyDictionary.cs
- OverflowException.cs
- BinaryCommonClasses.cs
- Quaternion.cs
- DesignerRegionMouseEventArgs.cs
- Point3D.cs
- FtpWebRequest.cs
- WebPartTransformerCollection.cs
- BitmapEffectOutputConnector.cs
- ScanQueryOperator.cs
- HttpProfileGroupBase.cs
- SharedPersonalizationStateInfo.cs
- HtmlWindow.cs
- GiveFeedbackEventArgs.cs
- OneToOneMappingSerializer.cs
- StylusPlugInCollection.cs
- InstanceView.cs
- ContentType.cs
- BufferedOutputStream.cs
- ContentValidator.cs
- ObjectStorage.cs
- XmlSchemaExternal.cs
- CodeAccessSecurityEngine.cs
- InternalConfigEventArgs.cs
- RelationshipDetailsRow.cs
- Camera.cs
- GridEntry.cs
- ToolStripPanelRenderEventArgs.cs
- BrushValueSerializer.cs
- OleDbError.cs
- DecoderFallbackWithFailureFlag.cs
- TreeNodeSelectionProcessor.cs
- OdbcPermission.cs
- SoapElementAttribute.cs
- ClientSponsor.cs
- SerializableAuthorizationContext.cs
- ContentFilePart.cs
- DictionaryChange.cs
- BCLDebug.cs
- DBConnectionString.cs
- SpanIndex.cs
- SelectedCellsCollection.cs
- SiteMapProvider.cs
- IDataContractSurrogate.cs
- TextBox.cs
- Border.cs
- PersonalizableAttribute.cs
- SchemaSetCompiler.cs
- WebMessageEncodingElement.cs
- StoreContentChangedEventArgs.cs
- EntitySqlQueryCacheEntry.cs
- WebPartHelpVerb.cs
- SmtpTransport.cs
- DesignerSerializationVisibilityAttribute.cs
- HtmlHead.cs
- NumberFunctions.cs
- Range.cs
- Screen.cs
- IndexedSelectQueryOperator.cs
- WebPartChrome.cs
- ToolConsole.cs
- SemanticBasicElement.cs
- AttributeData.cs
- DefaultPrintController.cs
- hebrewshape.cs
- OutputCacheModule.cs
- GiveFeedbackEvent.cs
- XmlLangPropertyAttribute.cs
- XmlValidatingReaderImpl.cs
- DockAndAnchorLayout.cs
- ISAPIApplicationHost.cs
- printdlgexmarshaler.cs
- SqlDependencyUtils.cs
- DataColumnMapping.cs
- QueryRewriter.cs
- TypeToTreeConverter.cs
- MultiBindingExpression.cs
- WebDescriptionAttribute.cs
- GetReadStreamResult.cs
- StyleXamlParser.cs
- securitymgrsite.cs
- PeerPresenceInfo.cs
- ProgramNode.cs
- CorrelationTokenTypeConvertor.cs