LicenseProviderAttribute 클래스
클래스와 함께 사용할 LicenseProvider를 지정합니다. 이 클래스는 상속될 수 없습니다.
네임스페이스: System.ComponentModel
어셈블리: System(system.dll)
구문
‘선언
<AttributeUsageAttribute(AttributeTargets.Class, AllowMultiple:=False, Inherited:=False)> _
Public NotInheritable Class LicenseProviderAttribute
Inherits Attribute
‘사용 방법
Dim instance As LicenseProviderAttribute
[AttributeUsageAttribute(AttributeTargets.Class, AllowMultiple=false, Inherited=false)]
public sealed class LicenseProviderAttribute : Attribute
[AttributeUsageAttribute(AttributeTargets::Class, AllowMultiple=false, Inherited=false)]
public ref class LicenseProviderAttribute sealed : public Attribute
/** @attribute AttributeUsageAttribute(AttributeTargets.Class, AllowMultiple=false, Inherited=false) */
public final class LicenseProviderAttribute extends Attribute
AttributeUsageAttribute(AttributeTargets.Class, AllowMultiple=false, Inherited=false)
public final class LicenseProviderAttribute extends Attribute
설명
라이센스할 구성 요소를 만드는 경우 구성 요소를 LicenseProviderAttribute로 표시하여 LicenseProvider를 지정해야 합니다.
LicenseProvider 속성을 사용하여 LicenseProvider의 Type을 가져옵니다.
특성에 대한 자세한 내용은 특성 개요 및 특성을 사용하여 메타데이터 확장을 참조하십시오. 라이센스에 대한 자세한 내용은 방법: 구성 요소 및 컨트롤 라이센스를 참조하십시오.
참고
이 클래스에 적용되는 HostProtectionAttribute 특성의 Resources 속성 값은 SharedState입니다. HostProtectionAttribute는 대개 아이콘을 두 번 클릭하거나, 명령을 입력하거나, 브라우저에서 URL을 입력하여 시작되는 데스크톱 응용 프로그램에 영향을 미치지 않습니다. 자세한 내용은 HostProtectionAttribute 클래스나 SQL Server 프로그래밍 및 호스트 보호 특성을 참조하십시오.
예제
다음 코드 예제에서는 MyControl
의 라이센스 공급자로 LicFileLicenseProvider를 사용합니다.
<LicenseProvider(GetType(LicFileLicenseProvider))> _
Public Class MyControl
Inherits Control
' Insert code here.
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
' All components must dispose of the licenses they grant.
' Insert code here to dispose of the license.
End Sub
End Class
[LicenseProvider(typeof(LicFileLicenseProvider))]
public class MyControl : Control {
// Insert code here.
protected override void Dispose(bool disposing) {
/* All components must dispose of the licenses they grant.
* Insert code here to dispose of the license. */
}
}
[LicenseProvider(LicFileLicenseProvider::typeid)]
ref class MyControl: public Control
{
protected:
// Insert code here.
~MyControl()
{
/* All components must dispose of the licenses they grant.
* Insert code here to dispose of the license. */
}
};
/** @attribute LicenseProvider(LicFileLicenseProvider.class)
*/
public class MyControl extends Control
{
// Insert code here.
protected void Dispose(boolean disposing)
{
/* All components must dispose of the licenses they grant.
Insert code here to dispose of the license.
*/
} //Dispose
} //MyControl
public LicenseProvider(LicFileLicenseProvider)
class MyControl extends Control{
// Insert code here.
function Dispose(){
// All components must dispose of the licenses they grant.
// Insert code here to dispose of the license.
} //Dispose
} //MyControl
다음 코드 예제에서는 MyControl
클래스의 인스턴스를 만듭니다. 그런 다음 클래스의 특성을 가져와서 myNewControl
에서 사용하는 라이센스 공급자의 이름을 출력합니다.
Public Shared Function Main() As Integer
' Creates a new component.
Dim myNewControl As New MyControl()
' Gets the attributes for the component.
Dim attributes As AttributeCollection = TypeDescriptor.GetAttributes(myNewControl)
' Prints the name of the license provider by retrieving the LicenseProviderAttribute
' from the AttributeCollection.
Dim myAttribute As LicenseProviderAttribute = _
CType(attributes(GetType(LicenseProviderAttribute)), LicenseProviderAttribute)
Console.WriteLine(("The license provider for this class is: " & _
myAttribute.LicenseProvider.ToString()))
Return 0
End Function
public static int Main() {
// Creates a new component.
MyControl myNewControl = new MyControl();
// Gets the attributes for the component.
AttributeCollection attributes = TypeDescriptor.GetAttributes(myNewControl);
/* Prints the name of the license provider by retrieving the LicenseProviderAttribute
* from the AttributeCollection. */
LicenseProviderAttribute myAttribute = (LicenseProviderAttribute)attributes[typeof(LicenseProviderAttribute)];
Console.WriteLine("The license provider for this class is: " + myAttribute.LicenseProvider.ToString());
return 0;
}
int main()
{
// Creates a new component.
MyControl^ myNewControl = gcnew MyControl;
// Gets the attributes for the component.
AttributeCollection^ attributes = TypeDescriptor::GetAttributes( myNewControl );
/* Prints the name of the license provider by retrieving the LicenseProviderAttribute
* from the AttributeCollection. */
LicenseProviderAttribute^ myAttribute = dynamic_cast<LicenseProviderAttribute^>(attributes[ LicenseProviderAttribute::typeid ]);
Console::WriteLine( "The license provider for this class is: {0}", myAttribute->LicenseProvider );
return 0;
}
public static void main(String[] args)
{
// Creates a new component.
Class1 lObjClass1 = new Class1();
MyControl myNewControl = lObjClass1.new MyControl();
// Gets the attributes for the component.
AttributeCollection attributes =
TypeDescriptor.GetAttributes(myNewControl);
/* Prints the name of the license provider by
retrieving the LicenseProviderAttribute
from the AttributeCollection.
*/
LicenseProviderAttribute myAttribute = ((LicenseProviderAttribute)
(attributes.get_Item(LicenseProviderAttribute.class.ToType())));
Console.WriteLine(("The license provider for this class is: "
+ myAttribute.get_LicenseProvider().ToString()));
} //main
// Creates a new component.
var myNewControl : MyControl = new MyControl()
// Gets the attributes for the component.
var attributes : AttributeCollection = TypeDescriptor.GetAttributes(myNewControl)
// Prints the name of the license provider by retrieving the LicenseProviderAttribute
// from the AttributeCollection.
var myAttribute : LicenseProviderAttribute = LicenseProviderAttribute(attributes(LicenseProviderAttribute))
Console.WriteLine("The license provider for this class is: " + myAttribute.LicenseProvider.ToString())
상속 계층 구조
System.Object
System.Attribute
System.ComponentModel.LicenseProviderAttribute
스레드로부터의 안전성
이 형식의 모든 public static(Visual Basic의 경우 Shared) 멤버는 스레드로부터 안전합니다. 인터페이스 멤버는 스레드로부터 안전하지 않습니다.
플랫폼
Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
.NET Framework에서 모든 플래폼의 모든 버전을 지원하지는 않습니다. 지원되는 버전의 목록은 시스템 요구 사항을 참조하십시오.
버전 정보
.NET Framework
2.0, 1.1, 1.0에서 지원
참고 항목
참조
LicenseProviderAttribute 멤버
System.ComponentModel 네임스페이스
License 클래스
LicenseContext 클래스
LicenseException 클래스
LicenseManager 클래스
LicenseProvider 클래스
LicFileLicenseProvider
LicenseUsageMode