Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / ndp / fx / src / CompMod / System / ComponentModel / LicenseProviderAttribute.cs / 1 / LicenseProviderAttribute.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
namespace System.ComponentModel {
using System;
using System.Security.Permissions;
///
/// Specifies the
/// to use with a class.
///
[AttributeUsage(AttributeTargets.Class, AllowMultiple = false, Inherited = false)]
public sealed class LicenseProviderAttribute : Attribute {
///
///
/// Specifies the default value, which is no provider. This field is read-only.
///
///
public static readonly LicenseProviderAttribute Default = new LicenseProviderAttribute();
private Type licenseProviderType = null;
private string licenseProviderName = null;
///
/// Initializes a new instance of the class without a license
/// provider.
///
public LicenseProviderAttribute() : this((string)null) {
}
///
///
/// Initializes a new instance of the class with
/// the specified type.
///
///
public LicenseProviderAttribute(string typeName) {
licenseProviderName = typeName;
}
///
///
/// Initializes a new instance of the class with
/// the specified type of license provider.
///
///
public LicenseProviderAttribute(Type type) {
licenseProviderType = type;
}
///
/// Gets the license provider to use with the associated class.
///
public Type LicenseProvider {
// SECREVIEW: Remove this attribute once bug#411910 is fixed.
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2113:SecureLateBindingMethods")]
get {
if (licenseProviderType == null && licenseProviderName != null) {
licenseProviderType = Type.GetType(licenseProviderName);
}
return licenseProviderType;
}
}
///
///
///
/// This defines a unique ID for this attribute type. It is used
/// by filtering algorithms to identify two attributes that are
/// the same type. For most attributes, this just returns the
/// Type instance for the attribute. LicenseProviderAttribute overrides this to include the type name and the
/// provider type name.
///
///
public override object TypeId {
get {
string typeName = licenseProviderName;
if (typeName == null && licenseProviderType != null) {
typeName = licenseProviderType.FullName;
}
return GetType().FullName + typeName;
}
}
///
///
///
public override bool Equals(object value) {
if (value is LicenseProviderAttribute && value != null) {
Type type = ((LicenseProviderAttribute)value).LicenseProvider;
if (type == LicenseProvider) {
return true;
}
else {
if (type != null && type.Equals(LicenseProvider)) {
return true;
}
}
}
return false;
}
///
///
/// Returns the hashcode for this object.
///
///
public override int GetHashCode() {
return base.GetHashCode();
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
namespace System.ComponentModel {
using System;
using System.Security.Permissions;
///
/// Specifies the
/// to use with a class.
///
[AttributeUsage(AttributeTargets.Class, AllowMultiple = false, Inherited = false)]
public sealed class LicenseProviderAttribute : Attribute {
///
///
/// Specifies the default value, which is no provider. This field is read-only.
///
///
public static readonly LicenseProviderAttribute Default = new LicenseProviderAttribute();
private Type licenseProviderType = null;
private string licenseProviderName = null;
///
/// Initializes a new instance of the class without a license
/// provider.
///
public LicenseProviderAttribute() : this((string)null) {
}
///
///
/// Initializes a new instance of the class with
/// the specified type.
///
///
public LicenseProviderAttribute(string typeName) {
licenseProviderName = typeName;
}
///
///
/// Initializes a new instance of the class with
/// the specified type of license provider.
///
///
public LicenseProviderAttribute(Type type) {
licenseProviderType = type;
}
///
/// Gets the license provider to use with the associated class.
///
public Type LicenseProvider {
// SECREVIEW: Remove this attribute once bug#411910 is fixed.
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2113:SecureLateBindingMethods")]
get {
if (licenseProviderType == null && licenseProviderName != null) {
licenseProviderType = Type.GetType(licenseProviderName);
}
return licenseProviderType;
}
}
///
///
///
/// This defines a unique ID for this attribute type. It is used
/// by filtering algorithms to identify two attributes that are
/// the same type. For most attributes, this just returns the
/// Type instance for the attribute. LicenseProviderAttribute overrides this to include the type name and the
/// provider type name.
///
///
public override object TypeId {
get {
string typeName = licenseProviderName;
if (typeName == null && licenseProviderType != null) {
typeName = licenseProviderType.FullName;
}
return GetType().FullName + typeName;
}
}
///
///
///
public override bool Equals(object value) {
if (value is LicenseProviderAttribute && value != null) {
Type type = ((LicenseProviderAttribute)value).LicenseProvider;
if (type == LicenseProvider) {
return true;
}
else {
if (type != null && type.Equals(LicenseProvider)) {
return true;
}
}
}
return false;
}
///
///
/// Returns the hashcode for this object.
///
///
public override int GetHashCode() {
return base.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
- HtmlInputHidden.cs
- RoleManagerSection.cs
- HttpGetClientProtocol.cs
- Lease.cs
- DocumentsTrace.cs
- UserControl.cs
- ConfigurationSectionGroupCollection.cs
- NetworkInterface.cs
- WorkerProcess.cs
- SkipStoryboardToFill.cs
- StreamSecurityUpgradeInitiatorAsyncResult.cs
- RemotingClientProxy.cs
- DiagnosticsConfigurationHandler.cs
- ListViewDeletedEventArgs.cs
- XmlElementAttributes.cs
- EntityDataSourceContextDisposingEventArgs.cs
- WebEncodingValidatorAttribute.cs
- ClientSettingsSection.cs
- XamlFrame.cs
- oledbconnectionstring.cs
- ClassHandlersStore.cs
- PersonalizationDictionary.cs
- RequestDescription.cs
- ViewCellSlot.cs
- ApplicationId.cs
- ReflectionPermission.cs
- HandleCollector.cs
- DBDataPermissionAttribute.cs
- SharedConnectionInfo.cs
- HttpDictionary.cs
- RowsCopiedEventArgs.cs
- SortExpressionBuilder.cs
- ReadOnlyCollectionBuilder.cs
- DocumentXPathNavigator.cs
- ServiceContractViewControl.Designer.cs
- ProtectedConfiguration.cs
- GridViewHeaderRowPresenterAutomationPeer.cs
- SrgsSubset.cs
- TextServicesCompartment.cs
- BamlTreeUpdater.cs
- InputLanguageEventArgs.cs
- ErrorFormatterPage.cs
- CacheSection.cs
- DataServiceQueryException.cs
- SecureEnvironment.cs
- ManagementInstaller.cs
- SessionEndingEventArgs.cs
- Helper.cs
- ToolBar.cs
- HttpRuntimeSection.cs
- Repeater.cs
- SamlAssertionDirectKeyIdentifierClause.cs
- ExceptionUtil.cs
- InfiniteIntConverter.cs
- RowCache.cs
- DataControlButton.cs
- PieceDirectory.cs
- BookmarkOptionsHelper.cs
- ProgressBarAutomationPeer.cs
- BinaryParser.cs
- XPathChildIterator.cs
- Grid.cs
- MeshGeometry3D.cs
- SqlFacetAttribute.cs
- OdbcConnectionFactory.cs
- XamlTypeMapperSchemaContext.cs
- TagMapInfo.cs
- OutOfProcStateClientManager.cs
- XmlMemberMapping.cs
- NetNamedPipeBinding.cs
- DataGridViewAutoSizeColumnsModeEventArgs.cs
- CodeTypeDeclaration.cs
- ByteRangeDownloader.cs
- TagPrefixAttribute.cs
- RowParagraph.cs
- RenderCapability.cs
- UTF8Encoding.cs
- BamlTreeNode.cs
- AutomationIdentifier.cs
- CustomErrorsSection.cs
- MatrixAnimationUsingPath.cs
- SID.cs
- QueryOutputWriter.cs
- XmlSchemaSubstitutionGroup.cs
- TagNameToTypeMapper.cs
- Header.cs
- CompilerCollection.cs
- Menu.cs
- GroupItemAutomationPeer.cs
- WebServiceData.cs
- BindingFormattingDialog.cs
- PluralizationServiceUtil.cs
- DeploymentSectionCache.cs
- XhtmlBasicControlAdapter.cs
- SetStateEventArgs.cs
- ArcSegment.cs
- SystemKeyConverter.cs
- SortedList.cs
- AsymmetricSignatureFormatter.cs
- SqlDataSourceQueryEditorForm.cs