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
- DataGridViewCellValueEventArgs.cs
- SqlWriter.cs
- Part.cs
- DrawingContextWalker.cs
- FormsAuthenticationUser.cs
- DecoderReplacementFallback.cs
- ItemsPresenter.cs
- StreamResourceInfo.cs
- GraphicsPath.cs
- Line.cs
- EncoderParameter.cs
- FixedElement.cs
- ArraySortHelper.cs
- FlowDocumentReaderAutomationPeer.cs
- WebSysDisplayNameAttribute.cs
- HostedBindingBehavior.cs
- EtwTrace.cs
- XmlSchemaChoice.cs
- EasingQuaternionKeyFrame.cs
- FileSystemEnumerable.cs
- BuildProvider.cs
- XmlRawWriterWrapper.cs
- IsolatedStorageFile.cs
- DefaultBinder.cs
- ItemsControl.cs
- System.Data.OracleClient_BID.cs
- SchemaTableOptionalColumn.cs
- ZipArchive.cs
- ObfuscateAssemblyAttribute.cs
- NameTable.cs
- AttachedPropertyBrowsableForTypeAttribute.cs
- SplitterEvent.cs
- ServiceRoute.cs
- coordinatorscratchpad.cs
- CapabilitiesAssignment.cs
- PropertyAccessVisitor.cs
- BoundField.cs
- formatter.cs
- Paragraph.cs
- Enum.cs
- KeyTime.cs
- TrackBar.cs
- DiagnosticEventProvider.cs
- DesignerTransaction.cs
- DefaultValueAttribute.cs
- FormsAuthenticationModule.cs
- HyperLinkField.cs
- EventLogPermission.cs
- DateTimeSerializationSection.cs
- DBAsyncResult.cs
- AuthenticationSection.cs
- PolyBezierSegmentFigureLogic.cs
- MD5.cs
- MarginCollapsingState.cs
- Exceptions.cs
- ThreadStateException.cs
- SrgsDocumentParser.cs
- ManagementException.cs
- WeakEventTable.cs
- ReflectionUtil.cs
- DBSqlParserColumnCollection.cs
- SimpleHandlerBuildProvider.cs
- WmpBitmapDecoder.cs
- Matrix3D.cs
- AudioSignalProblemOccurredEventArgs.cs
- PreloadedPackages.cs
- ScalarType.cs
- WriteableBitmap.cs
- CacheDependency.cs
- WeakEventManager.cs
- AuthorizationPolicyTypeElement.cs
- PropertyStore.cs
- ParameterReplacerVisitor.cs
- ModelPerspective.cs
- HtmlTableCellCollection.cs
- XmlSerializerImportOptions.cs
- TypeLoadException.cs
- DrawingCollection.cs
- CapabilitiesState.cs
- ContextQuery.cs
- DynamicQueryableWrapper.cs
- ModuleConfigurationInfo.cs
- DataGridViewRowDividerDoubleClickEventArgs.cs
- NodeFunctions.cs
- SecureConversationVersion.cs
- SqlCacheDependencyDatabaseCollection.cs
- DrawingContextWalker.cs
- CheckPair.cs
- path.cs
- MessageQueueAccessControlEntry.cs
- GenericRootAutomationPeer.cs
- Maps.cs
- SQLResource.cs
- View.cs
- ConfigurationSectionGroup.cs
- TraceListener.cs
- Int32Storage.cs
- MaskedTextBox.cs
- MarkupObject.cs
- TemplatedControlDesigner.cs