Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / XmlUtils / System / Xml / Xsl / QIL / QilName.cs / 1305376 / QilName.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //[....] //----------------------------------------------------------------------------- using System; using System.Diagnostics; namespace System.Xml.Xsl.Qil { ////// View over a Qil name literal. /// ////// Don't construct QIL nodes directly; instead, use the internal class QilName : QilLiteral { private string local; private string uri; private string prefix; //----------------------------------------------- // Constructor //----------------------------------------------- ///QilFactory . ////// Construct a new node /// public QilName(QilNodeType nodeType, string local, string uri, string prefix) : base(nodeType, null) { LocalName = local; NamespaceUri = uri; Prefix = prefix; Value = this; } //----------------------------------------------- // QilName methods //----------------------------------------------- public string LocalName { get { return this.local; } set { this.local = value; } } public string NamespaceUri { get { return this.uri; } set { this.uri = value; } } public string Prefix { get { return this.prefix; } set { this.prefix = value; } } ////// Build the qualified name in the form prefix:local /// public string QualifiedName { get { if (this.prefix.Length == 0) { return this.local; } else { return this.prefix + ':' + this.local; } } } ////// Override GetHashCode() so that the QilName can be used as a key in the hashtable. /// ///Does not compare their prefixes (if any). public override int GetHashCode() { return this.local.GetHashCode(); } ////// Override Equals() so that the QilName can be used as a key in the hashtable. /// ///Does not compare their prefixes (if any). public override bool Equals(object other) { QilName name = other as QilName; if (name == null) return false; return this.local == name.local && this.uri == name.uri; } ////// Implement operator == to prevent exidental referential comarison /// ///Does not compare their prefixes (if any). public static bool operator ==(QilName a, QilName b) { if ((object)a == (object)b) { return true; } if ((object)a == null || (object)b == null) { return false; } return a.local == b.local && a.uri == b.uri; } ////// Implement operator != to prevent exidental referential comarison /// ///Does not compare their prefixes (if any). public static bool operator !=(QilName a, QilName b) { return !(a == b); } ////// Return the QilName in this format: "{namespace}prefix:local-name". /// If the namespace is empty, return the QilName in this truncated format: "local-name". /// If the prefix is empty, return the QilName in this truncated format: "{namespace}local-name". /// public override string ToString() { if (prefix.Length == 0) { if (uri.Length == 0) return local; return string.Concat("{", uri, "}", local); } return string.Concat("{", uri, "}", prefix, ":", local); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //[....] //----------------------------------------------------------------------------- using System; using System.Diagnostics; namespace System.Xml.Xsl.Qil { ////// View over a Qil name literal. /// ////// Don't construct QIL nodes directly; instead, use the internal class QilName : QilLiteral { private string local; private string uri; private string prefix; //----------------------------------------------- // Constructor //----------------------------------------------- ///QilFactory . ////// Construct a new node /// public QilName(QilNodeType nodeType, string local, string uri, string prefix) : base(nodeType, null) { LocalName = local; NamespaceUri = uri; Prefix = prefix; Value = this; } //----------------------------------------------- // QilName methods //----------------------------------------------- public string LocalName { get { return this.local; } set { this.local = value; } } public string NamespaceUri { get { return this.uri; } set { this.uri = value; } } public string Prefix { get { return this.prefix; } set { this.prefix = value; } } ////// Build the qualified name in the form prefix:local /// public string QualifiedName { get { if (this.prefix.Length == 0) { return this.local; } else { return this.prefix + ':' + this.local; } } } ////// Override GetHashCode() so that the QilName can be used as a key in the hashtable. /// ///Does not compare their prefixes (if any). public override int GetHashCode() { return this.local.GetHashCode(); } ////// Override Equals() so that the QilName can be used as a key in the hashtable. /// ///Does not compare their prefixes (if any). public override bool Equals(object other) { QilName name = other as QilName; if (name == null) return false; return this.local == name.local && this.uri == name.uri; } ////// Implement operator == to prevent exidental referential comarison /// ///Does not compare their prefixes (if any). public static bool operator ==(QilName a, QilName b) { if ((object)a == (object)b) { return true; } if ((object)a == null || (object)b == null) { return false; } return a.local == b.local && a.uri == b.uri; } ////// Implement operator != to prevent exidental referential comarison /// ///Does not compare their prefixes (if any). public static bool operator !=(QilName a, QilName b) { return !(a == b); } ////// Return the QilName in this format: "{namespace}prefix:local-name". /// If the namespace is empty, return the QilName in this truncated format: "local-name". /// If the prefix is empty, return the QilName in this truncated format: "{namespace}local-name". /// public override string ToString() { if (prefix.Length == 0) { if (uri.Length == 0) return local; return string.Concat("{", uri, "}", local); } return string.Concat("{", uri, "}", prefix, ":", local); } } } // 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
- XmlSchemaSimpleTypeRestriction.cs
- FamilyMapCollection.cs
- MonitoringDescriptionAttribute.cs
- BinaryQueryOperator.cs
- HandlerMappingMemo.cs
- RenderData.cs
- ProvideValueServiceProvider.cs
- PlainXmlSerializer.cs
- TraceInternal.cs
- RequiredAttributeAttribute.cs
- _StreamFramer.cs
- XamlFigureLengthSerializer.cs
- ComboBoxHelper.cs
- FlowLayoutPanel.cs
- Attributes.cs
- NodeInfo.cs
- DecimalAnimationUsingKeyFrames.cs
- GetParentChain.cs
- DockAndAnchorLayout.cs
- Missing.cs
- GridViewRowEventArgs.cs
- ProviderCollection.cs
- HandlerMappingMemo.cs
- SqlDataAdapter.cs
- Collection.cs
- CodeCompileUnit.cs
- GeometryCollection.cs
- CompModSwitches.cs
- WebContext.cs
- PersonalizationProviderCollection.cs
- StretchValidation.cs
- Empty.cs
- XmlEntity.cs
- VisualProxy.cs
- XmlSchemaAttribute.cs
- SqlReferenceCollection.cs
- DropShadowEffect.cs
- TemplateContentLoader.cs
- EntityStoreSchemaFilterEntry.cs
- Rect3DValueSerializer.cs
- Util.cs
- ServiceObjectContainer.cs
- ImpersonationContext.cs
- ToolStripLocationCancelEventArgs.cs
- XmlDocumentSerializer.cs
- DecoderFallback.cs
- UnauthorizedAccessException.cs
- KeyToListMap.cs
- DynamicDataExtensions.cs
- ClientRuntimeConfig.cs
- MenuEventArgs.cs
- MappingModelBuildProvider.cs
- XamlFrame.cs
- WebBaseEventKeyComparer.cs
- ObjectConverter.cs
- TextDecorationCollection.cs
- CreateWorkflowOwnerCommand.cs
- SoapCommonClasses.cs
- BackgroundWorker.cs
- InvariantComparer.cs
- ControlPaint.cs
- TraceProvider.cs
- RawStylusActions.cs
- COSERVERINFO.cs
- WindowsScroll.cs
- HttpConfigurationContext.cs
- AvTraceFormat.cs
- TextTreeTextBlock.cs
- SystemBrushes.cs
- RelationshipEndMember.cs
- ZipIOExtraFieldPaddingElement.cs
- FormViewCommandEventArgs.cs
- ClientSideQueueItem.cs
- JavaScriptSerializer.cs
- itemelement.cs
- BehaviorDragDropEventArgs.cs
- Simplifier.cs
- TableLayoutCellPaintEventArgs.cs
- BuildDependencySet.cs
- XmlEncoding.cs
- FunctionUpdateCommand.cs
- SqlUDTStorage.cs
- WebPartEditorApplyVerb.cs
- indexingfiltermarshaler.cs
- _SSPISessionCache.cs
- StylusLogic.cs
- XmlSchemaSequence.cs
- PageAdapter.cs
- Number.cs
- JsonFaultDetail.cs
- EvidenceBase.cs
- WriteableBitmap.cs
- SqlDataSource.cs
- BaseValidator.cs
- TextLineBreak.cs
- InternalConfigSettingsFactory.cs
- ArithmeticException.cs
- AuthenticateEventArgs.cs
- CommandBindingCollection.cs
- RepeatButtonAutomationPeer.cs