Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / untmp / whidbey / QFE / 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
- MatchingStyle.cs
- DefaultProfileManager.cs
- XmlUtf8RawTextWriter.cs
- SqlGatherConsumedAliases.cs
- TreeViewImageKeyConverter.cs
- JavaScriptString.cs
- ZipIOLocalFileHeader.cs
- HighlightVisual.cs
- GeneralTransform3D.cs
- DataGridDetailsPresenterAutomationPeer.cs
- GridViewColumnHeader.cs
- SecurityListenerSettingsLifetimeManager.cs
- FilterQueryOptionExpression.cs
- FontWeight.cs
- TableRowCollection.cs
- TemplateColumn.cs
- XmlSerializationWriter.cs
- PathTooLongException.cs
- ExpandedWrapper.cs
- ValueSerializer.cs
- DataBindingCollection.cs
- HttpListenerTimeoutManager.cs
- DoubleLinkList.cs
- Point3DAnimationBase.cs
- DetailsViewAutoFormat.cs
- TemplateBindingExtensionConverter.cs
- ProviderConnectionPoint.cs
- Journal.cs
- AssemblyResolver.cs
- ZipIOZip64EndOfCentralDirectoryLocatorBlock.cs
- CacheOutputQuery.cs
- DataExpression.cs
- EncodingInfo.cs
- SqlNamer.cs
- CodeBinaryOperatorExpression.cs
- GcSettings.cs
- AnimationStorage.cs
- TableRow.cs
- DoubleConverter.cs
- TextDocumentView.cs
- RegistrationServices.cs
- XPathNavigatorReader.cs
- BrowserTree.cs
- RuntimeIdentifierPropertyAttribute.cs
- SqlDataSourceFilteringEventArgs.cs
- WebHttpBehavior.cs
- Brush.cs
- X509Certificate2Collection.cs
- TextEditorContextMenu.cs
- ColumnTypeConverter.cs
- SymmetricSecurityBindingElement.cs
- AnnotationComponentChooser.cs
- ThreadExceptionEvent.cs
- EndpointAddressAugust2004.cs
- OdbcTransaction.cs
- Delegate.cs
- BulletDecorator.cs
- Misc.cs
- ValidateNames.cs
- Form.cs
- RowType.cs
- ButtonDesigner.cs
- DbProviderFactory.cs
- TextDecorationLocationValidation.cs
- DebugManager.cs
- TableProviderWrapper.cs
- WebSysDescriptionAttribute.cs
- HostingEnvironmentWrapper.cs
- SmiRecordBuffer.cs
- Menu.cs
- ResourcePool.cs
- DelegateBodyWriter.cs
- FtpWebResponse.cs
- HtmlElementErrorEventArgs.cs
- SqlMethodAttribute.cs
- MetadataItemSerializer.cs
- ProfilePropertySettingsCollection.cs
- NumberFormatter.cs
- SslStreamSecurityBindingElement.cs
- DBDataPermissionAttribute.cs
- PaperSource.cs
- ConstraintCollection.cs
- SamlAssertion.cs
- MenuScrollingVisibilityConverter.cs
- HttpHandlersSection.cs
- GACMembershipCondition.cs
- NavigationService.cs
- PopupRootAutomationPeer.cs
- ContextStack.cs
- AuthenticationManager.cs
- IOException.cs
- AppDomainFactory.cs
- MenuAdapter.cs
- Form.cs
- BitmapFrameDecode.cs
- DetailsViewCommandEventArgs.cs
- MembershipSection.cs
- SafeThreadHandle.cs
- XmlILOptimizerVisitor.cs
- LambdaCompiler.Address.cs