ProgIdAttribute 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
사용자가 클래스의 ProgID를 지정할 수 있게 합니다.
public ref class ProgIdAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Class, Inherited=false)]
public sealed class ProgIdAttribute : Attribute
[System.AttributeUsage(System.AttributeTargets.Class, Inherited=false)]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class ProgIdAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Class, Inherited=false)>]
type ProgIdAttribute = class
inherit Attribute
[<System.AttributeUsage(System.AttributeTargets.Class, Inherited=false)>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type ProgIdAttribute = class
inherit Attribute
Public NotInheritable Class ProgIdAttribute
Inherits Attribute
- 상속
- 특성
예제
다음 예제에서는 클래스에 적용 ProgIdAttribute
하는 방법을 보여 줍니다. 그런 다음 애플리케이션의 모든 특성을 가져옵니다 MyClass
, 하 고 출력을 Value 속성을 ProgIdAttribute
입니다.
[ClassInterface(ClassInterfaceType::AutoDispatch)]
[ProgId("InteropSample.MyClass")]
public ref class MyClass
{
public:
MyClass(){}
};
int main()
{
try
{
AttributeCollection^ attributes;
attributes = TypeDescriptor::GetAttributes( MyClass::typeid );
ProgIdAttribute^ progIdAttributeObj = dynamic_cast<ProgIdAttribute^>(attributes[ ProgIdAttribute::typeid ]);
Console::WriteLine( "ProgIdAttribute's value is set to : {0}", progIdAttributeObj->Value );
}
catch ( Exception^ e )
{
Console::WriteLine( "Exception : {0}", e->Message );
}
}
[ClassInterface(ClassInterfaceType.AutoDispatch)]
[ProgId("InteropSample.MyClass")]
public class MyClass
{
public MyClass() {}
}
class TestApplication
{
public static void Main()
{
try
{
AttributeCollection attributes;
attributes = TypeDescriptor.GetAttributes(typeof(MyClass));
ProgIdAttribute progIdAttributeObj = (ProgIdAttribute)attributes[typeof(ProgIdAttribute)];
Console.WriteLine("ProgIdAttribute's value is set to : " + progIdAttributeObj.Value);
}
catch(Exception e)
{
Console.WriteLine("Exception : " + e.Message);
}
}
}
<ClassInterface(ClassInterfaceType.AutoDispatch), ProgId("InteropSample.MyClass")> _
Public Class [MyClass]
Public Sub New()
End Sub
End Class
Class TestApplication
Public Shared Sub Main()
Try
Dim attributes As AttributeCollection
attributes = TypeDescriptor.GetAttributes(GetType([MyClass]))
Dim progIdAttributeObj As ProgIdAttribute = CType(attributes(GetType(ProgIdAttribute)), ProgIdAttribute)
Console.WriteLine(("ProgIdAttribute's value is set to : " + progIdAttributeObj.Value))
Catch e As Exception
Console.WriteLine(("Exception : " + e.Message.ToString()))
End Try
End Sub
End Class
End Namespace 'InteropSample
설명
이 특성을 클래스에 적용할 수 있습니다.
네임스페이스와 형식 이름을 결합하여 클래스에 대해 ProgID가 자동으로 생성됩니다. 그러나 ProgID는 39자로 제한되고 마침표 이외의 문장 부호를 포함할 수 없으므로 잘못된 ProgID가 생성될 수 있습니다. 이 경우 를 사용하여 ProgIdAttribute클래스에 ProgID를 수동으로 할당할 수 있습니다.
생성자
ProgIdAttribute(String) |
지정된 ProgId를 사용하여 |
속성
TypeId |
파생 클래스에서 구현된 경우 이 Attribute에 대한 고유 식별자를 가져옵니다. (다음에서 상속됨 Attribute) |
Value |
클래스의 ProgID를 가져옵니다. |
메서드
Equals(Object) |
이 인스턴스가 지정된 개체와 같은지를 나타내는 값을 반환합니다. (다음에서 상속됨 Attribute) |
GetHashCode() |
이 인스턴스의 해시 코드를 반환합니다. (다음에서 상속됨 Attribute) |
GetType() |
현재 인스턴스의 Type을 가져옵니다. (다음에서 상속됨 Object) |
IsDefaultAttribute() |
파생 클래스에서 재정의된 경우 이 인스턴스 값이 파생 클래스에 대한 기본값인지 여부를 표시합니다. (다음에서 상속됨 Attribute) |
Match(Object) |
파생 클래스에서 재정의된 경우 이 인스턴스가 지정된 개체와 같은지 여부를 나타내는 값을 반환합니다. (다음에서 상속됨 Attribute) |
MemberwiseClone() |
현재 Object의 단순 복사본을 만듭니다. (다음에서 상속됨 Object) |
ToString() |
현재 개체를 나타내는 문자열을 반환합니다. (다음에서 상속됨 Object) |
명시적 인터페이스 구현
_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
이름 집합을 해당하는 디스패치 식별자 집합에 매핑합니다. (다음에서 상속됨 Attribute) |
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
인터페이스의 형식 정보를 가져오는 데 사용할 수 있는 개체의 형식 정보를 검색합니다. (다음에서 상속됨 Attribute) |
_Attribute.GetTypeInfoCount(UInt32) |
개체에서 제공하는 형식 정보 인터페이스의 수를 검색합니다(0 또는 1). (다음에서 상속됨 Attribute) |
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
개체에서 노출하는 메서드와 속성에 대한 액세스를 제공합니다. (다음에서 상속됨 Attribute) |
적용 대상
.NET