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
- SqlCachedBuffer.cs
- Panel.cs
- XmlArrayItemAttribute.cs
- ValidatorCompatibilityHelper.cs
- HashCodeCombiner.cs
- ClientOptions.cs
- LassoSelectionBehavior.cs
- MultipartContentParser.cs
- XmlDataSourceNodeDescriptor.cs
- UserValidatedEventArgs.cs
- dataSvcMapFileLoader.cs
- XPathSingletonIterator.cs
- MouseButton.cs
- ExpressionEditorAttribute.cs
- _NegoState.cs
- DocumentViewerBaseAutomationPeer.cs
- CancelEventArgs.cs
- TabletDeviceInfo.cs
- webeventbuffer.cs
- Screen.cs
- DataServiceHostFactory.cs
- EncoderParameter.cs
- SrgsSubset.cs
- UnsafeNativeMethods.cs
- DrawingVisualDrawingContext.cs
- SmiContextFactory.cs
- CachedBitmap.cs
- SqlFlattener.cs
- RepeatBehavior.cs
- SqlTypesSchemaImporter.cs
- DurableRuntimeValidator.cs
- CommandHelpers.cs
- WebAdminConfigurationHelper.cs
- OrderedDictionary.cs
- HostExecutionContextManager.cs
- ContentElementAutomationPeer.cs
- SQLInt32Storage.cs
- CheckBoxList.cs
- DataServiceRequestException.cs
- ListViewVirtualItemsSelectionRangeChangedEvent.cs
- ScrollChrome.cs
- XmlIncludeAttribute.cs
- HiddenFieldPageStatePersister.cs
- PerformanceCounterPermission.cs
- LogRecordSequence.cs
- ListBoxItemAutomationPeer.cs
- PersianCalendar.cs
- TraceHandler.cs
- CodePageUtils.cs
- TextRunTypographyProperties.cs
- LicenseProviderAttribute.cs
- MoveSizeWinEventHandler.cs
- OverlappedAsyncResult.cs
- WindowsFont.cs
- AdRotator.cs
- OdbcHandle.cs
- CalendarDateRangeChangingEventArgs.cs
- ContentPlaceHolder.cs
- ExpressionWriter.cs
- CompatibleComparer.cs
- DataSourceHelper.cs
- SecureConversationServiceCredential.cs
- Dynamic.cs
- Vector3DValueSerializer.cs
- Registry.cs
- WinCategoryAttribute.cs
- RSACryptoServiceProvider.cs
- XmlLinkedNode.cs
- RootProfilePropertySettingsCollection.cs
- SqlComparer.cs
- basenumberconverter.cs
- CodeTypeReferenceExpression.cs
- GridViewColumnHeader.cs
- UIElementCollection.cs
- TableCellsCollectionEditor.cs
- CheckBox.cs
- AdCreatedEventArgs.cs
- HitTestResult.cs
- ParameterElementCollection.cs
- XPathChildIterator.cs
- SetStoryboardSpeedRatio.cs
- DotExpr.cs
- HostProtectionPermission.cs
- FormViewCommandEventArgs.cs
- SecurityCriticalDataForSet.cs
- OracleConnectionStringBuilder.cs
- ResourceReader.cs
- XPathNodeList.cs
- HttpRequestTraceRecord.cs
- QuadraticBezierSegment.cs
- ServiceOperation.cs
- GeneralTransformGroup.cs
- GZipStream.cs
- OraclePermission.cs
- PeerTransportListenAddressConverter.cs
- StagingAreaInputItem.cs
- Listbox.cs
- StringValidator.cs
- DataServiceQueryProvider.cs
- HttpServerChannel.cs