Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / XmlUtils / System / Xml / Xsl / Runtime / EarlyBoundInfo.cs / 1305376 / EarlyBoundInfo.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //[....] //[....] //----------------------------------------------------------------------------- using System.Diagnostics; using System.Reflection; namespace System.Xml.Xsl.Runtime { ////// This class contains information about early bound function objects. /// internal sealed class EarlyBoundInfo { private string namespaceUri; // Namespace Uri mapped to these early bound functions private ConstructorInfo constrInfo; // Constructor for the early bound function object public EarlyBoundInfo(string namespaceUri, Type ebType) { Debug.Assert(namespaceUri != null && ebType != null); // Get the default constructor this.namespaceUri = namespaceUri; this.constrInfo = ebType.GetConstructor(Type.EmptyTypes); Debug.Assert(this.constrInfo != null, "The early bound object type " + ebType.FullName + " must have a public default constructor"); } ////// Get the Namespace Uri mapped to these early bound functions. /// public string NamespaceUri { get { return this.namespaceUri; } } ////// Return the Clr Type of the early bound object. /// public Type EarlyBoundType { get { return this.constrInfo.DeclaringType; } } ////// Create an instance of the early bound object. /// public object CreateObject() { return this.constrInfo.Invoke(new object[] {}); } ////// Override Equals method so that EarlyBoundInfo to implement value comparison. /// public override bool Equals(object obj) { EarlyBoundInfo info = obj as EarlyBoundInfo; if (info == null) return false; return this.namespaceUri == info.namespaceUri && this.constrInfo == info.constrInfo; } ////// Override GetHashCode since Equals is overriden. /// public override int GetHashCode() { return this.namespaceUri.GetHashCode(); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //[....] //[....] //----------------------------------------------------------------------------- using System.Diagnostics; using System.Reflection; namespace System.Xml.Xsl.Runtime { ////// This class contains information about early bound function objects. /// internal sealed class EarlyBoundInfo { private string namespaceUri; // Namespace Uri mapped to these early bound functions private ConstructorInfo constrInfo; // Constructor for the early bound function object public EarlyBoundInfo(string namespaceUri, Type ebType) { Debug.Assert(namespaceUri != null && ebType != null); // Get the default constructor this.namespaceUri = namespaceUri; this.constrInfo = ebType.GetConstructor(Type.EmptyTypes); Debug.Assert(this.constrInfo != null, "The early bound object type " + ebType.FullName + " must have a public default constructor"); } ////// Get the Namespace Uri mapped to these early bound functions. /// public string NamespaceUri { get { return this.namespaceUri; } } ////// Return the Clr Type of the early bound object. /// public Type EarlyBoundType { get { return this.constrInfo.DeclaringType; } } ////// Create an instance of the early bound object. /// public object CreateObject() { return this.constrInfo.Invoke(new object[] {}); } ////// Override Equals method so that EarlyBoundInfo to implement value comparison. /// public override bool Equals(object obj) { EarlyBoundInfo info = obj as EarlyBoundInfo; if (info == null) return false; return this.namespaceUri == info.namespaceUri && this.constrInfo == info.constrInfo; } ////// Override GetHashCode since Equals is overriden. /// public override int GetHashCode() { return this.namespaceUri.GetHashCode(); } } } // 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
- Label.cs
- SqlAliasesReferenced.cs
- InfoCardArgumentException.cs
- WmlPageAdapter.cs
- AtomServiceDocumentSerializer.cs
- UriTemplateQueryValue.cs
- UnderstoodHeaders.cs
- FacetEnabledSchemaElement.cs
- DocumentReference.cs
- CapabilitiesPattern.cs
- DocumentPageViewAutomationPeer.cs
- SmtpMail.cs
- LinearGradientBrush.cs
- AffineTransform3D.cs
- SharedStatics.cs
- TabControlDesigner.cs
- DataGridCell.cs
- SafeNativeMethods.cs
- LineBreak.cs
- ProfileSettingsCollection.cs
- MessageDecoder.cs
- Message.cs
- SqlCommand.cs
- IisTraceListener.cs
- XslCompiledTransform.cs
- Perspective.cs
- ExceptionCollection.cs
- formatter.cs
- DateTimeOffsetStorage.cs
- RangeValidator.cs
- CellIdBoolean.cs
- ReflectEventDescriptor.cs
- CodeDelegateCreateExpression.cs
- PlatformNotSupportedException.cs
- DragDrop.cs
- ICspAsymmetricAlgorithm.cs
- ListParagraph.cs
- NamespaceCollection.cs
- BidPrivateBase.cs
- ReflectionHelper.cs
- SmtpDigestAuthenticationModule.cs
- DocumentXPathNavigator.cs
- StorageTypeMapping.cs
- BrowserCapabilitiesFactory35.cs
- LinearGradientBrush.cs
- PermissionRequestEvidence.cs
- fixedPageContentExtractor.cs
- DataGridViewImageColumn.cs
- ObjectCacheHost.cs
- ChannelBinding.cs
- EdmFunctionAttribute.cs
- GeometryGroup.cs
- NetCodeGroup.cs
- Paragraph.cs
- HtmlInputHidden.cs
- RequestStatusBarUpdateEventArgs.cs
- ScrollChrome.cs
- ExpressionNode.cs
- HelpInfo.cs
- DocumentPaginator.cs
- SamlConstants.cs
- ColumnHeaderCollectionEditor.cs
- ManipulationStartingEventArgs.cs
- DomNameTable.cs
- PreviousTrackingServiceAttribute.cs
- Permission.cs
- LocalizedNameDescriptionPair.cs
- ScrollEventArgs.cs
- TriggerAction.cs
- MyContact.cs
- DataGridViewCellEventArgs.cs
- ResourceProviderFactory.cs
- MediaSystem.cs
- InOutArgumentConverter.cs
- OperationDescription.cs
- VersionedStreamOwner.cs
- List.cs
- ProcessHostConfigUtils.cs
- Table.cs
- RangeBaseAutomationPeer.cs
- ScalarType.cs
- XPathSelfQuery.cs
- OleDbWrapper.cs
- DesignerActionVerbItem.cs
- TerminatorSinks.cs
- MaskedTextBox.cs
- Resources.Designer.cs
- ISO2022Encoding.cs
- XmlSchemaGroup.cs
- CheckPair.cs
- HiddenFieldPageStatePersister.cs
- ConstNode.cs
- NameSpaceEvent.cs
- PopupEventArgs.cs
- SecurityContext.cs
- NamedElement.cs
- TimeoutTimer.cs
- WebBrowserDesigner.cs
- RewritingPass.cs
- SoapSchemaImporter.cs