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
- GridViewRowCollection.cs
- PackageFilter.cs
- AppDomain.cs
- CryptoKeySecurity.cs
- WebConfigurationManager.cs
- CodeTypeConstructor.cs
- ReflectionUtil.cs
- SubclassTypeValidatorAttribute.cs
- XPathScanner.cs
- IPHostEntry.cs
- XmlnsCompatibleWithAttribute.cs
- BitStack.cs
- CatalogZone.cs
- DashStyles.cs
- NumericExpr.cs
- VisualBasicHelper.cs
- AsyncOperationManager.cs
- SplitterPanel.cs
- CheckBoxBaseAdapter.cs
- QuotedPairReader.cs
- Win32.cs
- VisualBrush.cs
- ToolStripDropTargetManager.cs
- UnicodeEncoding.cs
- precedingsibling.cs
- TableRow.cs
- FileDialogCustomPlacesCollection.cs
- DataTableNameHandler.cs
- CustomGrammar.cs
- TreeView.cs
- PrinterResolution.cs
- VectorValueSerializer.cs
- BitmapFrameDecode.cs
- InstanceOwnerException.cs
- PanelDesigner.cs
- SapiRecognizer.cs
- RegexTree.cs
- QilPatternVisitor.cs
- AsymmetricKeyExchangeDeformatter.cs
- ListBindingConverter.cs
- ForAllOperator.cs
- Literal.cs
- GregorianCalendar.cs
- SystemIcons.cs
- IBuiltInEvidence.cs
- NestedContainer.cs
- SafeUserTokenHandle.cs
- MessageRpc.cs
- GC.cs
- ManifestBasedResourceGroveler.cs
- SystemWebCachingSectionGroup.cs
- SrgsText.cs
- StrokeDescriptor.cs
- KeyPressEvent.cs
- FixedElement.cs
- GetWorkflowTree.cs
- safesecurityhelperavalon.cs
- AuthStoreRoleProvider.cs
- ObjectViewFactory.cs
- FilterableAttribute.cs
- PointAnimationBase.cs
- DataGridItem.cs
- CompilationSection.cs
- ListSourceHelper.cs
- LayoutInformation.cs
- AxisAngleRotation3D.cs
- LayoutUtils.cs
- NameValueSectionHandler.cs
- SoundPlayerAction.cs
- MappingMetadataHelper.cs
- CompilerGlobalScopeAttribute.cs
- MemberAccessException.cs
- Control.cs
- ChainOfDependencies.cs
- ReceiveContent.cs
- GenericPrincipal.cs
- SHA384Managed.cs
- WeakKeyDictionary.cs
- StreamReader.cs
- UnwrappedTypesXmlSerializerManager.cs
- EventNotify.cs
- ProxyHwnd.cs
- ByteAnimationBase.cs
- PermissionSetEnumerator.cs
- StagingAreaInputItem.cs
- ExpandableObjectConverter.cs
- BackStopAuthenticationModule.cs
- KeyboardInputProviderAcquireFocusEventArgs.cs
- XmlNode.cs
- Not.cs
- CountdownEvent.cs
- WebBrowser.cs
- TextWriterEngine.cs
- BindingList.cs
- Identifier.cs
- DiscoveryEndpoint.cs
- MenuStrip.cs
- IsolatedStorageException.cs
- SwitchElementsCollection.cs
- InlineCollection.cs