Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / 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
- EditingContext.cs
- ConstructorNeedsTagAttribute.cs
- NativeMethods.cs
- DCSafeHandle.cs
- GridViewSelectEventArgs.cs
- DockEditor.cs
- BinaryParser.cs
- RegisteredExpandoAttribute.cs
- RepeatInfo.cs
- XmlSchemaAppInfo.cs
- TraceLevelStore.cs
- PartialArray.cs
- ColorBlend.cs
- SafeBuffer.cs
- EdgeProfileValidation.cs
- SQLSingle.cs
- MediaTimeline.cs
- SqlServices.cs
- MemberAccessException.cs
- StaticExtension.cs
- BrowserDefinitionCollection.cs
- LockedActivityGlyph.cs
- FormsAuthenticationUser.cs
- ScopedMessagePartSpecification.cs
- AppSettings.cs
- GZipDecoder.cs
- EntityDataSourceUtil.cs
- ExtendedProtectionPolicy.cs
- GridViewHeaderRowPresenter.cs
- TdsParameterSetter.cs
- EventRouteFactory.cs
- DataListItemCollection.cs
- COM2IProvidePropertyBuilderHandler.cs
- GregorianCalendar.cs
- CodeNamespace.cs
- HtmlImageAdapter.cs
- RangeValidator.cs
- ChangeProcessor.cs
- ToolStripProfessionalLowResolutionRenderer.cs
- ComboBox.cs
- AsyncPostBackErrorEventArgs.cs
- RectangleConverter.cs
- GroupBoxDesigner.cs
- AmbientProperties.cs
- DiscoveryRequestHandler.cs
- ExpressionWriter.cs
- BulletedListEventArgs.cs
- ToolstripProfessionalRenderer.cs
- XmlNodeChangedEventArgs.cs
- LiteralTextContainerControlBuilder.cs
- GetLedgerEntryForRecipientRequest.cs
- DifferencingCollection.cs
- Matrix3DStack.cs
- SqlDependencyListener.cs
- HttpChannelHelpers.cs
- StrokeNodeData.cs
- ProcessThreadDesigner.cs
- TextBox.cs
- _NtlmClient.cs
- PathFigureCollection.cs
- DropShadowBitmapEffect.cs
- WMIGenerator.cs
- StringToken.cs
- WindowCollection.cs
- Content.cs
- ActionMismatchAddressingException.cs
- XmlDictionaryReader.cs
- HybridObjectCache.cs
- IPAddressCollection.cs
- UnknownWrapper.cs
- SplitterEvent.cs
- FreezableDefaultValueFactory.cs
- ComponentEditorPage.cs
- ListArgumentProvider.cs
- EnumDataContract.cs
- DocumentsTrace.cs
- UnorderedHashRepartitionStream.cs
- DefaultSerializationProviderAttribute.cs
- WinFormsUtils.cs
- MULTI_QI.cs
- SequentialUshortCollection.cs
- Transform3DGroup.cs
- HttpFileCollection.cs
- MultipleViewPattern.cs
- DefaultTraceListener.cs
- MobileUserControlDesigner.cs
- ControlCodeDomSerializer.cs
- DateTimeValueSerializerContext.cs
- FrameworkTemplate.cs
- ExtendedPropertiesHandler.cs
- SignatureDescription.cs
- LoginViewDesigner.cs
- Utils.cs
- SectionRecord.cs
- BrowsableAttribute.cs
- ServiceAppDomainAssociationProvider.cs
- SequenceFullException.cs
- ClientRuntimeConfig.cs
- SqlCacheDependencyDatabaseCollection.cs
- CommandDesigner.cs