Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / wpf / src / Framework / System / Windows / Data / XmlNamespaceMapping.cs / 1 / XmlNamespaceMapping.cs
//---------------------------------------------------------------------------- // //// Copyright (C) Microsoft Corporation. All rights reserved. // // // Description: Implementation of XmlNamespaceMapping object. // // Specs: http://avalon/connecteddata/M5%20Specs/XmlDataSource.mht // http://avalon/connecteddata/M5%20Specs/WCP%20DataSources.mht // //--------------------------------------------------------------------------- using System; using System.ComponentModel; // ISupportInitialize namespace System.Windows.Data { ////// XmlNamespaceMapping Class /// used for declaring Xml Namespace Mappings /// public class XmlNamespaceMapping : ISupportInitialize { ////// Constructor for XmlNamespaceMapping /// public XmlNamespaceMapping() { } ////// Constructor for XmlNamespaceMapping /// public XmlNamespaceMapping(string prefix, Uri uri) { _prefix = prefix; _uri = uri; } ////// The prefix to be used for this Namespace /// public string Prefix { get { return _prefix; } set { if (!_initializing) throw new InvalidOperationException(SR.Get(SRID.PropertyIsInitializeOnly, "Prefix", this.GetType().Name)); if (_prefix != null && _prefix != value) throw new InvalidOperationException(SR.Get(SRID.PropertyIsImmutable, "Prefix", this.GetType().Name)); _prefix = value; } } ////// The Uri to be used for this Namespace, /// can be declared as an attribute or as the /// TextContent of the XmlNamespaceMapping markup tag /// public Uri Uri { get { return _uri; } set { if (!_initializing) throw new InvalidOperationException(SR.Get(SRID.PropertyIsInitializeOnly, "Uri", this.GetType().Name)); if (_uri != null && _uri != value) throw new InvalidOperationException(SR.Get(SRID.PropertyIsImmutable, "Uri", this.GetType().Name)); _uri = value; } } ////// Equality comparison by value /// public override bool Equals(object obj) { return (this == (obj as XmlNamespaceMapping)); // call the == operator override } ////// Equality comparison by value /// public static bool operator == (XmlNamespaceMapping mappingA, XmlNamespaceMapping mappingB) { // cannot just compare with (mappingX == null), it'll cause recursion and stack overflow! if (object.ReferenceEquals(mappingA, null)) return object.ReferenceEquals(mappingB, null); if (object.ReferenceEquals(mappingB, null)) return false; #pragma warning disable 1634, 1691 // presharp false positive for null-checking on mappings #pragma warning suppress 56506 return ((mappingA.Prefix == mappingB.Prefix) && (mappingA.Uri == mappingB.Uri)) ; #pragma warning restore 1634, 1691 } ////// Inequality comparison by value /// public static bool operator != (XmlNamespaceMapping mappingA, XmlNamespaceMapping mappingB) { return !(mappingA == mappingB); } ////// Hash function for this type /// public override int GetHashCode() { // note that the hash code can change, but only during intialization // (_prefix and _uri can only be changed once, from null to // non-null, and only during [Begin/End]Init). Technically this is // still a violation of the "constant during lifetime" rule, however // in practice this is acceptable. It is very unlikely that someone // will put an XmlNamespaceMapping into a hashtable before it is initialized. int hash = 0; if (_prefix != null) hash = _prefix.GetHashCode(); if (_uri != null) return unchecked(hash + _uri.GetHashCode()); else return hash; } #region ISupportInitialize ///Begin Initialization void ISupportInitialize.BeginInit() { _initializing = true; } ///End Initialization, verify that internal state is consistent void ISupportInitialize.EndInit() { if (_prefix == null) { throw new InvalidOperationException(SR.Get(SRID.PropertyMustHaveValue, "Prefix", this.GetType().Name)); } if (_uri == null) { throw new InvalidOperationException(SR.Get(SRID.PropertyMustHaveValue, "Uri", this.GetType().Name)); } _initializing = false; } #endregion ISupportInitialize private string _prefix; private Uri _uri; private bool _initializing; } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. //---------------------------------------------------------------------------- // //// Copyright (C) Microsoft Corporation. All rights reserved. // // // Description: Implementation of XmlNamespaceMapping object. // // Specs: http://avalon/connecteddata/M5%20Specs/XmlDataSource.mht // http://avalon/connecteddata/M5%20Specs/WCP%20DataSources.mht // //--------------------------------------------------------------------------- using System; using System.ComponentModel; // ISupportInitialize namespace System.Windows.Data { ////// XmlNamespaceMapping Class /// used for declaring Xml Namespace Mappings /// public class XmlNamespaceMapping : ISupportInitialize { ////// Constructor for XmlNamespaceMapping /// public XmlNamespaceMapping() { } ////// Constructor for XmlNamespaceMapping /// public XmlNamespaceMapping(string prefix, Uri uri) { _prefix = prefix; _uri = uri; } ////// The prefix to be used for this Namespace /// public string Prefix { get { return _prefix; } set { if (!_initializing) throw new InvalidOperationException(SR.Get(SRID.PropertyIsInitializeOnly, "Prefix", this.GetType().Name)); if (_prefix != null && _prefix != value) throw new InvalidOperationException(SR.Get(SRID.PropertyIsImmutable, "Prefix", this.GetType().Name)); _prefix = value; } } ////// The Uri to be used for this Namespace, /// can be declared as an attribute or as the /// TextContent of the XmlNamespaceMapping markup tag /// public Uri Uri { get { return _uri; } set { if (!_initializing) throw new InvalidOperationException(SR.Get(SRID.PropertyIsInitializeOnly, "Uri", this.GetType().Name)); if (_uri != null && _uri != value) throw new InvalidOperationException(SR.Get(SRID.PropertyIsImmutable, "Uri", this.GetType().Name)); _uri = value; } } ////// Equality comparison by value /// public override bool Equals(object obj) { return (this == (obj as XmlNamespaceMapping)); // call the == operator override } ////// Equality comparison by value /// public static bool operator == (XmlNamespaceMapping mappingA, XmlNamespaceMapping mappingB) { // cannot just compare with (mappingX == null), it'll cause recursion and stack overflow! if (object.ReferenceEquals(mappingA, null)) return object.ReferenceEquals(mappingB, null); if (object.ReferenceEquals(mappingB, null)) return false; #pragma warning disable 1634, 1691 // presharp false positive for null-checking on mappings #pragma warning suppress 56506 return ((mappingA.Prefix == mappingB.Prefix) && (mappingA.Uri == mappingB.Uri)) ; #pragma warning restore 1634, 1691 } ////// Inequality comparison by value /// public static bool operator != (XmlNamespaceMapping mappingA, XmlNamespaceMapping mappingB) { return !(mappingA == mappingB); } ////// Hash function for this type /// public override int GetHashCode() { // note that the hash code can change, but only during intialization // (_prefix and _uri can only be changed once, from null to // non-null, and only during [Begin/End]Init). Technically this is // still a violation of the "constant during lifetime" rule, however // in practice this is acceptable. It is very unlikely that someone // will put an XmlNamespaceMapping into a hashtable before it is initialized. int hash = 0; if (_prefix != null) hash = _prefix.GetHashCode(); if (_uri != null) return unchecked(hash + _uri.GetHashCode()); else return hash; } #region ISupportInitialize ///Begin Initialization void ISupportInitialize.BeginInit() { _initializing = true; } ///End Initialization, verify that internal state is consistent void ISupportInitialize.EndInit() { if (_prefix == null) { throw new InvalidOperationException(SR.Get(SRID.PropertyMustHaveValue, "Prefix", this.GetType().Name)); } if (_uri == null) { throw new InvalidOperationException(SR.Get(SRID.PropertyMustHaveValue, "Uri", this.GetType().Name)); } _initializing = false; } #endregion ISupportInitialize private string _prefix; private Uri _uri; private bool _initializing; } } // 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
- PeerNameRecordCollection.cs
- ColorMatrix.cs
- RemotingConfiguration.cs
- ReaderWriterLockSlim.cs
- BindingExpression.cs
- SQLDoubleStorage.cs
- XmlWellformedWriter.cs
- ConnectionPointCookie.cs
- OdbcPermission.cs
- Validator.cs
- TextInfo.cs
- HttpModuleCollection.cs
- NotificationContext.cs
- HMACRIPEMD160.cs
- DropShadowBitmapEffect.cs
- ContextDataSourceView.cs
- AssertSection.cs
- MatrixAnimationBase.cs
- ISAPIWorkerRequest.cs
- CustomValidator.cs
- InternalPolicyElement.cs
- PreservationFileWriter.cs
- DataGridBoolColumn.cs
- StateItem.cs
- HttpConfigurationContext.cs
- SchemaImporterExtension.cs
- EpmSyndicationContentSerializer.cs
- UdpTransportSettings.cs
- UnmanagedMemoryStream.cs
- HTTPNotFoundHandler.cs
- TextPointer.cs
- MobileComponentEditorPage.cs
- LinqDataSourceValidationException.cs
- LocalizationParserHooks.cs
- MessageDecoder.cs
- VisualProxy.cs
- SqlDependencyListener.cs
- DurationConverter.cs
- PropertyPathConverter.cs
- ReaderWriterLockWrapper.cs
- UnknownBitmapEncoder.cs
- Point3DAnimationUsingKeyFrames.cs
- DataBoundControlDesigner.cs
- SiteOfOriginPart.cs
- SmtpClient.cs
- TextParentUndoUnit.cs
- Pts.cs
- EditorZoneBase.cs
- TextElementAutomationPeer.cs
- MainMenu.cs
- BinaryFormatterWriter.cs
- EmbossBitmapEffect.cs
- PageAction.cs
- TerminatorSinks.cs
- DataGridDetailsPresenter.cs
- VScrollProperties.cs
- FixUpCollection.cs
- StaticTextPointer.cs
- ContextStack.cs
- StorageEndPropertyMapping.cs
- DataGridViewCellEventArgs.cs
- NumberFormatInfo.cs
- HtmlToClrEventProxy.cs
- XmlCollation.cs
- DockAndAnchorLayout.cs
- ReferenceEqualityComparer.cs
- TreeViewItemAutomationPeer.cs
- RelatedImageListAttribute.cs
- Types.cs
- MenuItem.cs
- input.cs
- CommandHelper.cs
- ToolStripItemImageRenderEventArgs.cs
- DesignerTransaction.cs
- AlignmentYValidation.cs
- SpanIndex.cs
- Point3DCollectionConverter.cs
- ToolStripSplitStackLayout.cs
- BadImageFormatException.cs
- EdmRelationshipRoleAttribute.cs
- ColumnResizeUndoUnit.cs
- SqlNode.cs
- _SSPISessionCache.cs
- TreeNodeCollection.cs
- Helper.cs
- WebHttpEndpoint.cs
- COM2ExtendedTypeConverter.cs
- TransportContext.cs
- SmiMetaData.cs
- WebPageTraceListener.cs
- TriggerBase.cs
- Constants.cs
- AvTraceFormat.cs
- ViewStateModeByIdAttribute.cs
- ConfigXmlCDataSection.cs
- AttachInfo.cs
- DbProviderConfigurationHandler.cs
- SafeRightsManagementHandle.cs
- MutexSecurity.cs
- InkSerializer.cs