Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / ndp / fx / src / Xml / System / Xml / Serialization / NameTable.cs / 1 / NameTable.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //[....] //----------------------------------------------------------------------------- namespace System.Xml.Serialization { using System.Collections; internal class NameKey { string ns; string name; internal NameKey(string name, string ns) { this.name = name; this.ns = ns; } public override bool Equals(object other) { if (!(other is NameKey)) return false; NameKey key = (NameKey)other; return name == key.name && ns == key.ns; } public override int GetHashCode() { return (ns == null ? "".GetHashCode() : ns.GetHashCode()) ^ (name == null ? 0 : name.GetHashCode()); } } internal interface INameScope { object this[string name, string ns] {get; set;} } internal class NameTable : INameScope { Hashtable table = new Hashtable(); internal void Add(XmlQualifiedName qname, object value) { Add(qname.Name, qname.Namespace, value); } internal void Add(string name, string ns, object value) { NameKey key = new NameKey(name, ns); table.Add(key, value); } internal object this[XmlQualifiedName qname] { get { return table[new NameKey(qname.Name, qname.Namespace)]; } set { table[new NameKey(qname.Name, qname.Namespace)] = value; } } internal object this[string name, string ns] { get { return table[new NameKey(name, ns)]; } set { table[new NameKey(name, ns)] = value; } } object INameScope.this[string name, string ns] { get { return table[new NameKey(name, ns)]; } set { table[new NameKey(name, ns)] = value; } } internal ICollection Values { get { return table.Values; } } internal Array ToArray(Type type) { Array a = Array.CreateInstance(type, table.Count); table.Values.CopyTo(a, 0); return a; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ // // Copyright (c) Microsoft Corporation. All rights reserved. // //[....] //----------------------------------------------------------------------------- namespace System.Xml.Serialization { using System.Collections; internal class NameKey { string ns; string name; internal NameKey(string name, string ns) { this.name = name; this.ns = ns; } public override bool Equals(object other) { if (!(other is NameKey)) return false; NameKey key = (NameKey)other; return name == key.name && ns == key.ns; } public override int GetHashCode() { return (ns == null ? "".GetHashCode() : ns.GetHashCode()) ^ (name == null ? 0 : name.GetHashCode()); } } internal interface INameScope { object this[string name, string ns] {get; set;} } internal class NameTable : INameScope { Hashtable table = new Hashtable(); internal void Add(XmlQualifiedName qname, object value) { Add(qname.Name, qname.Namespace, value); } internal void Add(string name, string ns, object value) { NameKey key = new NameKey(name, ns); table.Add(key, value); } internal object this[XmlQualifiedName qname] { get { return table[new NameKey(qname.Name, qname.Namespace)]; } set { table[new NameKey(qname.Name, qname.Namespace)] = value; } } internal object this[string name, string ns] { get { return table[new NameKey(name, ns)]; } set { table[new NameKey(name, ns)] = value; } } object INameScope.this[string name, string ns] { get { return table[new NameKey(name, ns)]; } set { table[new NameKey(name, ns)] = value; } } internal ICollection Values { get { return table.Values; } } internal Array ToArray(Type type) { Array a = Array.CreateInstance(type, table.Count); table.Values.CopyTo(a, 0); return a; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- EmbeddedObject.cs
- TextModifier.cs
- ListItemCollection.cs
- UncommonField.cs
- EventArgs.cs
- SamlAssertionDirectKeyIdentifierClause.cs
- CngProvider.cs
- WinFormsUtils.cs
- SHA1.cs
- SettingsSavedEventArgs.cs
- AddInDeploymentState.cs
- ControlValuePropertyAttribute.cs
- AutoScrollExpandMessageFilter.cs
- Roles.cs
- APCustomTypeDescriptor.cs
- XmlByteStreamWriter.cs
- WorkflowValidationFailedException.cs
- EntityStoreSchemaGenerator.cs
- ElasticEase.cs
- XmlSortKeyAccumulator.cs
- ZipIOExtraField.cs
- DataGridViewControlCollection.cs
- TraceData.cs
- AdPostCacheSubstitution.cs
- IdentifierService.cs
- TextEndOfSegment.cs
- DesignerWebPartChrome.cs
- BackoffTimeoutHelper.cs
- FixedSOMTableRow.cs
- AppliedDeviceFiltersDialog.cs
- XmlSchemaSimpleType.cs
- TimelineGroup.cs
- PeerCustomResolverBindingElement.cs
- Accessors.cs
- DataGridViewComboBoxColumn.cs
- NotificationContext.cs
- NameSpaceEvent.cs
- DataStreams.cs
- NumericUpDown.cs
- StreamMarshaler.cs
- Workspace.cs
- DataSourceGeneratorException.cs
- Selection.cs
- BitmapEffectDrawingContextState.cs
- HtmlGenericControl.cs
- GenericParameterDataContract.cs
- FormViewActionList.cs
- ValidateNames.cs
- VirtualizedContainerService.cs
- DesignerSerializerAttribute.cs
- ColorAnimationBase.cs
- FilteredReadOnlyMetadataCollection.cs
- HttpVersion.cs
- BooleanExpr.cs
- NodeFunctions.cs
- ProtocolViolationException.cs
- DummyDataSource.cs
- StringSorter.cs
- UrlPropertyAttribute.cs
- SpotLight.cs
- InputScopeManager.cs
- HostedBindingBehavior.cs
- TextSpan.cs
- OuterGlowBitmapEffect.cs
- OutgoingWebRequestContext.cs
- Int32RectValueSerializer.cs
- SendKeys.cs
- PreviewPrintController.cs
- DirectoryObjectSecurity.cs
- ManagementException.cs
- XmlValidatingReader.cs
- PlatformNotSupportedException.cs
- Scene3D.cs
- PageSetupDialog.cs
- VariableQuery.cs
- TableRowCollection.cs
- GroupDescription.cs
- StringUtil.cs
- InternalBase.cs
- FormViewModeEventArgs.cs
- WeakReference.cs
- XmlChildEnumerator.cs
- WebScriptEnablingElement.cs
- TabControlCancelEvent.cs
- MulticastDelegate.cs
- DependencySource.cs
- WorkerRequest.cs
- OperationInfoBase.cs
- ReachDocumentPageSerializer.cs
- EndpointInstanceProvider.cs
- DataReaderContainer.cs
- EnumUnknown.cs
- DataBindingCollection.cs
- BitHelper.cs
- cache.cs
- OleDbEnumerator.cs
- TrackingRecord.cs
- _TLSstream.cs
- DeclarativeCatalogPart.cs
- ObjectQueryState.cs