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
- Attributes.cs
- LinqToSqlWrapper.cs
- MatchingStyle.cs
- CharacterBufferReference.cs
- RefExpr.cs
- FreezableDefaultValueFactory.cs
- XmlTextWriter.cs
- Merger.cs
- HtmlElementCollection.cs
- KnownBoxes.cs
- PixelFormatConverter.cs
- HtmlControlPersistable.cs
- _HeaderInfoTable.cs
- _UriSyntax.cs
- SqlTriggerAttribute.cs
- CaseStatementSlot.cs
- Image.cs
- unsafenativemethodstextservices.cs
- MonitorWrapper.cs
- TextClipboardData.cs
- Visual3DCollection.cs
- XpsManager.cs
- EntityProviderFactory.cs
- GridViewActionList.cs
- Metafile.cs
- CollectionBuilder.cs
- WebSysDisplayNameAttribute.cs
- DesignTimeVisibleAttribute.cs
- SecurityElement.cs
- XmlDataSourceNodeDescriptor.cs
- RuleSettingsCollection.cs
- TextTreeTextElementNode.cs
- IPCCacheManager.cs
- SortedDictionary.cs
- XPathDocument.cs
- Queue.cs
- ClientType.cs
- BmpBitmapDecoder.cs
- EventDescriptor.cs
- SecurityChannelFaultConverter.cs
- ConfigXmlText.cs
- WebPartConnection.cs
- TrustLevelCollection.cs
- arabicshape.cs
- InvokeFunc.cs
- FontSizeConverter.cs
- ProcessingInstructionAction.cs
- ExtentCqlBlock.cs
- VisualStateManager.cs
- PropertyRecord.cs
- ValueQuery.cs
- ProjectionNode.cs
- HandlerFactoryCache.cs
- ListViewItem.cs
- KeyInstance.cs
- ExpressionWriter.cs
- ChangesetResponse.cs
- ConnectorDragDropGlyph.cs
- StateElement.cs
- CollaborationHelperFunctions.cs
- ItemList.cs
- MsmqProcessProtocolHandler.cs
- Matrix.cs
- TrustSection.cs
- Matrix3DStack.cs
- MasterPageBuildProvider.cs
- Char.cs
- CodeNamespace.cs
- RouteData.cs
- EmptyArray.cs
- DataControlLinkButton.cs
- ReadWriteSpinLock.cs
- FixedSchema.cs
- StylusButton.cs
- odbcmetadatacolumnnames.cs
- BitmapEffect.cs
- MetadataArtifactLoaderCompositeResource.cs
- __ComObject.cs
- ActivityStateRecord.cs
- SmiMetaData.cs
- OutputCacheModule.cs
- DataListItem.cs
- ReceiveActivityDesignerTheme.cs
- ScriptingRoleServiceSection.cs
- NetworkAddressChange.cs
- SchemaTypeEmitter.cs
- HttpModulesSection.cs
- PropertyItemInternal.cs
- TypeBuilderInstantiation.cs
- WindowHideOrCloseTracker.cs
- FixedSOMTextRun.cs
- ToolboxDataAttribute.cs
- _DomainName.cs
- WebConfigurationFileMap.cs
- _HTTPDateParse.cs
- UIInitializationException.cs
- OutputCacheSettings.cs
- CultureSpecificStringDictionary.cs
- StrongNameUtility.cs
- SamlAuthorizationDecisionStatement.cs