다음을 통해 공유


ComClassAttribute 클래스

업데이트: 2007년 11월

ComClassAttribute 특성은 메타데이터를 추가하라는 명령을 컴파일러에 내려 클래스를 COM 개체로 노출할 수 있도록 합니다.

<System.AttributeUsage(System.AttributeTargets.Class, _
   Inherited := False, AllowMultiple := False)> _
Public NotInheritable Class ComClassAttribute
   Inherits System.Attribute

설명

ComClassAttribute를 사용하면 Visual Basic에서 COM 구성 요소를 노출하는 프로세스를 간단하게 할 수 있습니다. COM 개체는 .NET Framework 어셈블리와 매우 다릅니다. ComClassAttribute가 없으면 여러 단계를 거쳐야 Visual Basic에서 COM 개체를 만들 수 있습니다. ComClassAttribute로 표시된 클래스의 경우 컴파일러는 이러한 여러 단계를 자동으로 수행합니다.

참고:

이 특성은 COM 개체를 만드는 과정을 단순하게 합니다. 클래스를 COM 개체로 노출하려면 구성 속성 대화 상자의 빌드 섹션에서 COM Interop 등록 옵션을 선택하고 프로젝트를 컴파일해야 합니다.

참고:

Visual Basic으로 만든 클래스를 COM 개체로 노출하여 비관리 코드에서 사용할 수도 있지만 이 개체는 진정한 COM 개체가 아닙니다. 자세한 내용은 .NET Framework 응용 프로그램의 COM 상호 운용성을 참조하십시오.

예제

이 예제를 실행하려면 새 클래스 라이브러리 응용 프로그램을 만든 후 다음 코드를 클래스 모듈에 추가합니다.

    <ComClass(ComClass1.ClassId, ComClass1.InterfaceId, ComClass1.EventsId)> _
    Public Class ComClass1
        ' Use the Region directive to define a section named COM Guids. 
#Region "COM GUIDs"
        ' These  GUIDs provide the COM identity for this class 
        ' and its COM interfaces. You can generate 
        ' these guids using guidgen.exe
        Public Const ClassId As String = "7666AC25-855F-4534-BC55-27BF09D49D46"
        Public Const InterfaceId As String = "54388137-8A76-491e-AA3A-853E23AC1217"
        Public Const EventsId As String = "EA329A13-16A0-478d-B41F-47583A761FF2"
#End Region

        Public Sub New()
            MyBase.New()
        End Sub

        Function AddNumbers(ByVal X As Integer, ByVal Y As Integer)
            AddNumbers = X + Y
        End Function
    End Class

요구 사항

네임스페이스:Microsoft.VisualBasic

**어셈블리:**Visual Basic 런타임 라이브러리(Microsoft.VisualBasic.dll)

참고 항목

작업

연습: Visual Basic을 사용하여 COM 개체 만들기

개념

Interop 특성 적용

Visual Basic에서 사용되는 특성

참조

ComClassAttribute 클래스 멤버

VBFixedArrayAttribute 클래스

VBFixedStringAttribute 클래스

System.Runtime.InteropServices

기타 리소스

Visual Basic의 특성