Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / CompMod / System / ComponentModel / LicenseProviderAttribute.cs / 1305376 / 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
- CursorInteropHelper.cs
- Encoder.cs
- DataGridColumnReorderingEventArgs.cs
- FormParameter.cs
- MembershipPasswordException.cs
- TableLayoutSettingsTypeConverter.cs
- ConstructorArgumentAttribute.cs
- StylusPlugInCollection.cs
- _ConnectOverlappedAsyncResult.cs
- IgnoreDeviceFilterElement.cs
- _PooledStream.cs
- XmlSchemaImport.cs
- SplayTreeNode.cs
- ErrorLog.cs
- ScalarOps.cs
- ServerIdentity.cs
- HighlightComponent.cs
- OleDbPermission.cs
- ValidationErrorCollection.cs
- RenderContext.cs
- OnOperation.cs
- ColumnClickEvent.cs
- DateTimeFormatInfo.cs
- TypeBuilder.cs
- LocalBuilder.cs
- DynamicResourceExtensionConverter.cs
- AttachedPropertyBrowsableWhenAttributePresentAttribute.cs
- HttpCookiesSection.cs
- EntityDataSourceState.cs
- SchemaObjectWriter.cs
- IChannel.cs
- PropertyPathConverter.cs
- DataGridViewCellStyle.cs
- MessageQueuePermissionEntryCollection.cs
- BitmapImage.cs
- HostingPreferredMapPath.cs
- MenuItemCollection.cs
- MultiDataTrigger.cs
- SynchronizedDispatch.cs
- RightsManagementEncryptedStream.cs
- KeyValueInternalCollection.cs
- BinaryFormatter.cs
- WorkflowViewManager.cs
- Calendar.cs
- UndoUnit.cs
- TextureBrush.cs
- TableLayout.cs
- RetrieveVirtualItemEventArgs.cs
- DataGridDesigner.cs
- SoapAttributeAttribute.cs
- XmlSchemaValidator.cs
- OdbcConnectionString.cs
- XmlSchemaAttribute.cs
- BinaryMethodMessage.cs
- CompoundFileDeflateTransform.cs
- XmlResolver.cs
- HttpCookie.cs
- SessionSwitchEventArgs.cs
- Convert.cs
- UserPersonalizationStateInfo.cs
- CapiHashAlgorithm.cs
- DesignBindingConverter.cs
- GetWinFXPath.cs
- login.cs
- JoinElimination.cs
- UIElementParagraph.cs
- RadioButtonList.cs
- BrowsableAttribute.cs
- PersonalizationProviderHelper.cs
- PolicyReader.cs
- Thread.cs
- HostingPreferredMapPath.cs
- RefreshResponseInfo.cs
- AttributeExtensions.cs
- OdbcReferenceCollection.cs
- UnicodeEncoding.cs
- ConfigXmlReader.cs
- AssertFilter.cs
- KeyBinding.cs
- ContainerUIElement3D.cs
- PropertyItem.cs
- DataKey.cs
- SecurityPolicySection.cs
- LambdaCompiler.ControlFlow.cs
- ComponentResourceKeyConverter.cs
- XpsFilter.cs
- OperatingSystem.cs
- InvalidEnumArgumentException.cs
- SwitchElementsCollection.cs
- EventMappingSettingsCollection.cs
- CompModHelpers.cs
- IDReferencePropertyAttribute.cs
- ConfigsHelper.cs
- XmlSchemaInclude.cs
- LambdaCompiler.Generated.cs
- DeferredElementTreeState.cs
- EpmContentDeSerializer.cs
- SecurityPermission.cs
- CacheOutputQuery.cs
- SettingsPropertyValue.cs