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
- MemberCollection.cs
- Button.cs
- EntityStoreSchemaGenerator.cs
- SqlTriggerAttribute.cs
- EventHandlers.cs
- DecoderExceptionFallback.cs
- ZipIOExtraFieldPaddingElement.cs
- Attributes.cs
- Viewport2DVisual3D.cs
- LoginNameDesigner.cs
- DataGridViewCellToolTipTextNeededEventArgs.cs
- DataViewListener.cs
- WriteableOnDemandStream.cs
- ObjectListItemCollection.cs
- SplineKeyFrames.cs
- WebEventTraceProvider.cs
- QilPatternFactory.cs
- XmlMemberMapping.cs
- TextCharacters.cs
- EntityDataSourceContextDisposingEventArgs.cs
- NumericUpDownAcceleration.cs
- ListViewDataItem.cs
- RestHandlerFactory.cs
- NetDispatcherFaultException.cs
- UrlAuthFailedErrorFormatter.cs
- OLEDB_Util.cs
- CachedRequestParams.cs
- ClientOptions.cs
- MergePropertyDescriptor.cs
- DataException.cs
- ConnectionsZone.cs
- LOSFormatter.cs
- ControlIdConverter.cs
- FileChangeNotifier.cs
- VisualBasicValue.cs
- GeometryDrawing.cs
- XmlAnyElementAttributes.cs
- AnimationStorage.cs
- DataRowCollection.cs
- SerializableAttribute.cs
- ConnectionStringsExpressionEditor.cs
- FixedPage.cs
- SymbolPair.cs
- AssemblyResolver.cs
- PermissionRequestEvidence.cs
- DispatcherOperation.cs
- ObservableCollectionDefaultValueFactory.cs
- SerializationException.cs
- CreateParams.cs
- TdsParserStateObject.cs
- OLEDB_Enum.cs
- WebExceptionStatus.cs
- MenuDesigner.cs
- SafeMILHandle.cs
- RegisteredHiddenField.cs
- PackageFilter.cs
- ResourceContainer.cs
- UrlMapping.cs
- SByte.cs
- GridViewSortEventArgs.cs
- Matrix3DValueSerializer.cs
- UserNameSecurityToken.cs
- HttpConfigurationSystem.cs
- Propagator.ExtentPlaceholderCreator.cs
- AuthenticationManager.cs
- Html32TextWriter.cs
- PageThemeCodeDomTreeGenerator.cs
- FixedPageProcessor.cs
- LookupNode.cs
- CacheVirtualItemsEvent.cs
- Translator.cs
- RegexReplacement.cs
- GrowingArray.cs
- CheckedListBox.cs
- HandoffBehavior.cs
- UniqueIdentifierService.cs
- DelegateHelpers.Generated.cs
- ComEventsSink.cs
- TrustLevel.cs
- InvokePattern.cs
- BindingExpression.cs
- ScriptingSectionGroup.cs
- SqlDependency.cs
- DocumentOrderQuery.cs
- Point3DCollection.cs
- EventMappingSettingsCollection.cs
- Registration.cs
- DataKey.cs
- SharedPersonalizationStateInfo.cs
- WebBrowsableAttribute.cs
- FixedFlowMap.cs
- AsyncOperationManager.cs
- DataSourceXmlTextReader.cs
- SchemaElementDecl.cs
- ReflectionPermission.cs
- SqlReferenceCollection.cs
- RangeValidator.cs
- CopyAttributesAction.cs
- DocumentViewerConstants.cs
- XpsFilter.cs