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
- ComponentChangedEvent.cs
- NonParentingControl.cs
- RankException.cs
- EncodedStreamFactory.cs
- SystemIPAddressInformation.cs
- TextEndOfParagraph.cs
- SqlRowUpdatingEvent.cs
- figurelengthconverter.cs
- ListParagraph.cs
- VectorCollectionConverter.cs
- StorageMappingItemLoader.cs
- Document.cs
- TextBlock.cs
- SocketPermission.cs
- SignedInfo.cs
- DataGrid.cs
- XappLauncher.cs
- BamlBinaryReader.cs
- localization.cs
- NotificationContext.cs
- HostedHttpContext.cs
- StylusDevice.cs
- _LocalDataStoreMgr.cs
- MenuItem.cs
- DateTimeValueSerializer.cs
- XamlStream.cs
- DataGridViewAdvancedBorderStyle.cs
- Lasso.cs
- newitemfactory.cs
- String.cs
- SqlDataSourceView.cs
- FileChangeNotifier.cs
- HandlerWithFactory.cs
- DbParameterCollectionHelper.cs
- DbDataRecord.cs
- BitmapEffect.cs
- ListMarkerLine.cs
- NTAccount.cs
- FtpWebRequest.cs
- BaseParaClient.cs
- UIAgentMonitor.cs
- TextTreeUndo.cs
- SubMenuStyle.cs
- HasActivatableWorkflowEvent.cs
- DataPagerFieldItem.cs
- SemanticResolver.cs
- Listbox.cs
- GeometryDrawing.cs
- MsdtcClusterUtils.cs
- ToolStripItemImageRenderEventArgs.cs
- FixedSOMImage.cs
- GradientSpreadMethodValidation.cs
- AttributeQuery.cs
- TextClipboardData.cs
- ResXResourceSet.cs
- ClockController.cs
- CompensableActivity.cs
- EntityStoreSchemaFilterEntry.cs
- PackagePart.cs
- MethodBuilder.cs
- CompileLiteralTextParser.cs
- DataGridViewImageColumn.cs
- DoubleLinkListEnumerator.cs
- ToolStripContentPanelRenderEventArgs.cs
- Matrix3DConverter.cs
- ImageAutomationPeer.cs
- CustomAttributeBuilder.cs
- TimelineGroup.cs
- Duration.cs
- SmtpFailedRecipientsException.cs
- ServerProtocol.cs
- OleDbRowUpdatingEvent.cs
- OperandQuery.cs
- NativeMethods.cs
- PageRequestManager.cs
- WasEndpointConfigContainer.cs
- ToolStripDropDownItemDesigner.cs
- CryptoHandle.cs
- DataControlFieldCollection.cs
- WindowsListViewSubItem.cs
- CutCopyPasteHelper.cs
- Point.cs
- XmlSerializationReader.cs
- StartFileNameEditor.cs
- WS2007FederationHttpBindingCollectionElement.cs
- CommandLibraryHelper.cs
- NonParentingControl.cs
- BaseTemplateCodeDomTreeGenerator.cs
- ProjectionPlanCompiler.cs
- Char.cs
- QueryableDataSourceView.cs
- UInt32.cs
- PeerEndPoint.cs
- ConnectionInterfaceCollection.cs
- XmlSchemaExporter.cs
- GuidConverter.cs
- newitemfactory.cs
- CollectionTraceRecord.cs
- OverflowException.cs
- ConnectionOrientedTransportElement.cs