Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- QueryCacheManager.cs
- ServiceSecurityAuditBehavior.cs
- ResourcePermissionBaseEntry.cs
- XmlElementElement.cs
- BuildResultCache.cs
- PropertyManager.cs
- PageClientProxyGenerator.cs
- ClockGroup.cs
- WindowCollection.cs
- AsyncResult.cs
- InputScope.cs
- Helper.cs
- ListViewTableCell.cs
- COM2IVsPerPropertyBrowsingHandler.cs
- ElementHost.cs
- FontEditor.cs
- Primitive.cs
- StringStorage.cs
- ControlPaint.cs
- DictionaryEditChange.cs
- XPathSelectionIterator.cs
- Internal.cs
- MulticastNotSupportedException.cs
- Serializer.cs
- RoleGroupCollection.cs
- TrustSection.cs
- DesignerProperties.cs
- Sorting.cs
- SafeViewOfFileHandle.cs
- EventSinkHelperWriter.cs
- PresentationSource.cs
- ComAwareEventInfo.cs
- WorkflowRuntime.cs
- SoapSchemaExporter.cs
- FixedHyperLink.cs
- AnnotationHighlightLayer.cs
- StorageConditionPropertyMapping.cs
- RegisteredScript.cs
- CompensatableTransactionScopeActivityDesigner.cs
- SqlTypesSchemaImporter.cs
- SingleAnimationUsingKeyFrames.cs
- MailMessageEventArgs.cs
- MouseButtonEventArgs.cs
- InfoCardTraceRecord.cs
- NumericExpr.cs
- WorkflowRuntime.cs
- SharedDp.cs
- ProtectedConfiguration.cs
- AdRotator.cs
- FloaterBaseParagraph.cs
- TextParagraph.cs
- SelectionRangeConverter.cs
- QueryableDataSource.cs
- GridViewSortEventArgs.cs
- ColorConvertedBitmap.cs
- SiteMap.cs
- HtmlInputButton.cs
- FileRegion.cs
- CommandHelper.cs
- SafeMILHandle.cs
- CheckBoxFlatAdapter.cs
- CorruptingExceptionCommon.cs
- MeasurementDCInfo.cs
- WebBrowserBase.cs
- ImageList.cs
- EventMap.cs
- ConfigurationStrings.cs
- PathNode.cs
- SrgsText.cs
- Properties.cs
- EntityContainerAssociationSetEnd.cs
- TimeIntervalCollection.cs
- XmlWhitespace.cs
- EnumDataContract.cs
- TextServicesLoader.cs
- HttpApplication.cs
- GenericRootAutomationPeer.cs
- Span.cs
- ExpressionCopier.cs
- Encoding.cs
- Bidi.cs
- Table.cs
- _SingleItemRequestCache.cs
- XmlSequenceWriter.cs
- SByteStorage.cs
- MenuItemStyleCollectionEditor.cs
- PeerObject.cs
- AttributeTable.cs
- QilXmlWriter.cs
- TypeGeneratedEventArgs.cs
- RegexStringValidator.cs
- EntityDataSourceContextCreatedEventArgs.cs
- listitem.cs
- ProgramPublisher.cs
- TreeNodeEventArgs.cs
- _CommandStream.cs
- StaticSiteMapProvider.cs
- ItemDragEvent.cs
- ListMarkerLine.cs
- SafePipeHandle.cs