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
- PaintValueEventArgs.cs
- NTAccount.cs
- EasingKeyFrames.cs
- DuplicateWaitObjectException.cs
- Recipient.cs
- Walker.cs
- SamlAssertion.cs
- COM2ICategorizePropertiesHandler.cs
- CfgSemanticTag.cs
- Dispatcher.cs
- RawStylusActions.cs
- ListBindingHelper.cs
- HtmlTitle.cs
- EntityConnection.cs
- SkewTransform.cs
- DecoderFallback.cs
- MutexSecurity.cs
- Timeline.cs
- CheckableControlBaseAdapter.cs
- ClientTarget.cs
- CompilerErrorCollection.cs
- SymbolEqualComparer.cs
- WebPartDisplayMode.cs
- MethodAccessException.cs
- ForeignKeyConstraint.cs
- GenericRootAutomationPeer.cs
- ArraySubsetEnumerator.cs
- DeclaredTypeElement.cs
- __Error.cs
- FindRequestContext.cs
- Stack.cs
- OLEDB_Enum.cs
- Substitution.cs
- SQLMoney.cs
- GridViewCellAutomationPeer.cs
- WriteableOnDemandPackagePart.cs
- dataprotectionpermission.cs
- BuildDependencySet.cs
- CodeArrayCreateExpression.cs
- DirectoryGroupQuery.cs
- ScriptReferenceEventArgs.cs
- MethodCallConverter.cs
- OleDbInfoMessageEvent.cs
- Graphics.cs
- StyleSheetRefUrlEditor.cs
- ReflectPropertyDescriptor.cs
- SR.cs
- WebContext.cs
- TargetException.cs
- PauseStoryboard.cs
- DataTablePropertyDescriptor.cs
- TableNameAttribute.cs
- KnownTypes.cs
- OutputCacheProviderCollection.cs
- OutgoingWebRequestContext.cs
- _SafeNetHandles.cs
- ListViewItem.cs
- ExtendedProtectionPolicyTypeConverter.cs
- BridgeDataReader.cs
- Transform3D.cs
- AnimatedTypeHelpers.cs
- ComAdminWrapper.cs
- GridPattern.cs
- AssemblyAssociatedContentFileAttribute.cs
- PeoplePickerWrapper.cs
- SqlRowUpdatingEvent.cs
- WindowPatternIdentifiers.cs
- DashStyles.cs
- XPathNodePointer.cs
- Inline.cs
- ApplicationManager.cs
- HotSpotCollectionEditor.cs
- UpdatableWrapper.cs
- UiaCoreApi.cs
- VirtualizingStackPanel.cs
- Label.cs
- UpdateTranslator.cs
- QueryOutputWriter.cs
- ImageInfo.cs
- Certificate.cs
- StyleSheet.cs
- FlowPanelDesigner.cs
- Encoder.cs
- TreeViewAutomationPeer.cs
- ToolStripDropDownItem.cs
- NullableConverter.cs
- WorkflowInstance.cs
- SoapAttributeOverrides.cs
- DBNull.cs
- SettingsAttributes.cs
- XmlSerializerNamespaces.cs
- SoapIncludeAttribute.cs
- BulletDecorator.cs
- MergablePropertyAttribute.cs
- ConfigurationLocation.cs
- ProfileBuildProvider.cs
- CompositeCollectionView.cs
- StylusPointPropertyId.cs
- SimpleHandlerBuildProvider.cs
- DelimitedListTraceListener.cs