Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / 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
- BrowserTree.cs
- XmlDataImplementation.cs
- Clock.cs
- NativeCompoundFileAPIs.cs
- DesignTableCollection.cs
- IsolationInterop.cs
- ConvertEvent.cs
- CategoryNameCollection.cs
- VerificationException.cs
- PrtTicket_Editor.cs
- XmlObjectSerializerWriteContextComplexJson.cs
- RootBrowserWindowAutomationPeer.cs
- CorePropertiesFilter.cs
- ListBoxChrome.cs
- SqlCommandSet.cs
- ConnectionConsumerAttribute.cs
- XPathNodeList.cs
- X509Certificate2.cs
- ValidatorCompatibilityHelper.cs
- DynamicFilterExpression.cs
- SetIndexBinder.cs
- DataException.cs
- MenuEventArgs.cs
- SqlBooleanizer.cs
- Funcletizer.cs
- PageTextBox.cs
- AttributeEmitter.cs
- Image.cs
- LeftCellWrapper.cs
- CustomErrorCollection.cs
- SubpageParaClient.cs
- FieldAccessException.cs
- Int16KeyFrameCollection.cs
- SectionUpdates.cs
- ToolCreatedEventArgs.cs
- UnmanagedMemoryStream.cs
- RuntimeEnvironment.cs
- recordstate.cs
- Utils.cs
- CodeIdentifiers.cs
- KeyboardDevice.cs
- TimeSpanOrInfiniteValidator.cs
- OptionalMessageQuery.cs
- AppDomainAttributes.cs
- SystemResourceKey.cs
- Single.cs
- SymLanguageVendor.cs
- GenerateScriptTypeAttribute.cs
- MimeWriter.cs
- XmlWhitespace.cs
- XpsFilter.cs
- CacheForPrimitiveTypes.cs
- FileDialog.cs
- RepeaterCommandEventArgs.cs
- NullableDoubleAverageAggregationOperator.cs
- ResourceDescriptionAttribute.cs
- ConstructorArgumentAttribute.cs
- SqlCommand.cs
- FunctionDetailsReader.cs
- GeneralTransform3DGroup.cs
- MappingException.cs
- DefaultMemberAttribute.cs
- WebBrowserNavigatingEventHandler.cs
- WebHttpSecurity.cs
- BrowserCapabilitiesCodeGenerator.cs
- ManipulationLogic.cs
- ReliableChannelBinder.cs
- ContentDisposition.cs
- VersionedStreamOwner.cs
- BitmapEffectDrawing.cs
- Vector3D.cs
- Environment.cs
- OutputCache.cs
- BufferModeSettings.cs
- AlternateViewCollection.cs
- ReadOnlyKeyedCollection.cs
- MetroSerializationManager.cs
- ArgumentException.cs
- BrowserCapabilitiesCodeGenerator.cs
- SqlXmlStorage.cs
- CalendarDay.cs
- ProxyAttribute.cs
- SerializationFieldInfo.cs
- DocumentViewerAutomationPeer.cs
- PropertyPath.cs
- ImageListUtils.cs
- AsymmetricAlgorithm.cs
- TextEffectCollection.cs
- FactoryGenerator.cs
- ArgIterator.cs
- MobileRedirect.cs
- wgx_sdk_version.cs
- FormParameter.cs
- StickyNote.cs
- NestedContainer.cs
- PersonalizationStateQuery.cs
- HashMembershipCondition.cs
- UIAgentMonitorHandle.cs
- HostUtils.cs
- DerivedKeySecurityToken.cs