Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / ndp / fx / src / XmlUtils / System / Xml / Xsl / Runtime / EarlyBoundInfo.cs / 1 / 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
- ArglessEventHandlerProxy.cs
- OleDbParameter.cs
- DocumentGrid.cs
- TreeNodeStyleCollection.cs
- CodeTypeReferenceExpression.cs
- DataGridViewComboBoxEditingControl.cs
- HandleRef.cs
- ViewLoader.cs
- DataGridLinkButton.cs
- BaseCodePageEncoding.cs
- DesignerEditorPartChrome.cs
- EventsTab.cs
- PatternMatcher.cs
- MemberAccessException.cs
- MiniLockedBorderGlyph.cs
- RouteData.cs
- Buffer.cs
- FirstMatchCodeGroup.cs
- KeyGestureConverter.cs
- TypeDescriptionProviderAttribute.cs
- MailHeaderInfo.cs
- D3DImage.cs
- MdiWindowListItemConverter.cs
- RTLAwareMessageBox.cs
- Rss20ItemFormatter.cs
- ReadOnlyCollectionBase.cs
- HttpInputStream.cs
- SessionEndingEventArgs.cs
- ScriptReferenceEventArgs.cs
- DataRecordInfo.cs
- VoiceInfo.cs
- StructuredTypeEmitter.cs
- XsltSettings.cs
- EventLogReader.cs
- SelectionWordBreaker.cs
- HttpListenerTimeoutManager.cs
- SerializationException.cs
- MulticastOption.cs
- CalendarAutoFormat.cs
- BindableAttribute.cs
- Exception.cs
- ObjectDisposedException.cs
- PerfCounterSection.cs
- StatusBarAutomationPeer.cs
- FactoryRecord.cs
- TcpWorkerProcess.cs
- ExtensibleClassFactory.cs
- ProfilePropertySettingsCollection.cs
- RegexGroupCollection.cs
- Model3D.cs
- SweepDirectionValidation.cs
- DefaultClaimSet.cs
- DeflateStream.cs
- IsolatedStorageFile.cs
- StickyNoteAnnotations.cs
- CompiledQuery.cs
- DesignerRegionCollection.cs
- EncodingDataItem.cs
- MenuEventArgs.cs
- basevalidator.cs
- XPathEmptyIterator.cs
- WebPartTransformer.cs
- AdapterUtil.cs
- TypeInfo.cs
- SHA512.cs
- DBNull.cs
- SharedPersonalizationStateInfo.cs
- IOThreadScheduler.cs
- EntityDataSourceSelectingEventArgs.cs
- Inline.cs
- Single.cs
- LinkedResource.cs
- AddInDeploymentState.cs
- ExpressionBuilder.cs
- PerformanceCountersElement.cs
- Animatable.cs
- AppSettingsSection.cs
- HttpCacheParams.cs
- WorkflowMarkupSerializer.cs
- DataGridViewImageCell.cs
- SqlDataSourceCommandEventArgs.cs
- VectorCollectionConverter.cs
- Compiler.cs
- ChannelManager.cs
- RtfToken.cs
- AsyncSerializedWorker.cs
- XmlIgnoreAttribute.cs
- ICspAsymmetricAlgorithm.cs
- KeyedQueue.cs
- SubclassTypeValidator.cs
- RuntimeConfig.cs
- SectionInformation.cs
- TabControlEvent.cs
- StylusPointProperty.cs
- Application.cs
- UnionCodeGroup.cs
- WinEventQueueItem.cs
- LingerOption.cs
- SemaphoreSlim.cs
- PathTooLongException.cs