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
- TemplateControl.cs
- XmlBoundElement.cs
- AppDomainInfo.cs
- BinaryFormatter.cs
- LightweightCodeGenerator.cs
- Line.cs
- SafeMarshalContext.cs
- TableLayoutSettings.cs
- QueryStringParameter.cs
- designeractionbehavior.cs
- LicenseProviderAttribute.cs
- DbConnectionHelper.cs
- DataServiceRequestOfT.cs
- PersonalizableAttribute.cs
- Graphics.cs
- InputGestureCollection.cs
- Bold.cs
- CharEntityEncoderFallback.cs
- QuaternionAnimationBase.cs
- LiteralTextContainerControlBuilder.cs
- HyperLink.cs
- SystemBrushes.cs
- DeploymentSection.cs
- ExceptionCollection.cs
- PartialTrustVisibleAssemblyCollection.cs
- CompilationSection.cs
- MemoryStream.cs
- GridItemPattern.cs
- AdapterUtil.cs
- StreamInfo.cs
- IERequestCache.cs
- XmlSchemaInfo.cs
- StringAttributeCollection.cs
- WinCategoryAttribute.cs
- FamilyCollection.cs
- HeaderedContentControl.cs
- PasswordTextContainer.cs
- ListControlConvertEventArgs.cs
- WindowsTab.cs
- IntPtr.cs
- PerCallInstanceContextProvider.cs
- DefaultHttpHandler.cs
- DeleteMemberBinder.cs
- PageTheme.cs
- ConstraintStruct.cs
- DoubleCollection.cs
- RevocationPoint.cs
- WebAdminConfigurationHelper.cs
- RegexMatch.cs
- Int64Storage.cs
- TableLayoutRowStyleCollection.cs
- Line.cs
- SplineKeyFrames.cs
- cookiecollection.cs
- SelectionUIHandler.cs
- SystemUnicastIPAddressInformation.cs
- DataTableNewRowEvent.cs
- Padding.cs
- MenuItem.cs
- ByteStack.cs
- CodeAttributeDeclarationCollection.cs
- SafeBitVector32.cs
- DataGridViewLinkColumn.cs
- documentsequencetextcontainer.cs
- SiteMapDataSource.cs
- Missing.cs
- HostingPreferredMapPath.cs
- HtmlTitle.cs
- StaticFileHandler.cs
- MetadataProperty.cs
- IsolationInterop.cs
- DependencyPropertyHelper.cs
- invalidudtexception.cs
- ReverseInheritProperty.cs
- OdbcConnectionString.cs
- RpcCryptoContext.cs
- XmlSchemaType.cs
- DataGridCommandEventArgs.cs
- SafeNativeMethodsCLR.cs
- LabelEditEvent.cs
- CodeIndexerExpression.cs
- BindingList.cs
- ColumnResult.cs
- Vector3D.cs
- XLinq.cs
- NativeMethods.cs
- TiffBitmapEncoder.cs
- DataSourceHelper.cs
- AssemblyUtil.cs
- XmlDataSource.cs
- DataGridViewComponentPropertyGridSite.cs
- ServicePointManager.cs
- PrivilegeNotHeldException.cs
- HttpApplication.cs
- HttpFileCollection.cs
- ShellProvider.cs
- ApplicationServiceHelper.cs
- CodeMemberMethod.cs
- Parameter.cs
- EntityTypeEmitter.cs