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 が適用されているクラスでは、これらの手順の多くがコンパイラによって自動的に実行されます。

57kx88c8.alert_note(ja-jp,VS.90).gifメモ :

この属性を使用すると、COM オブジェクトを簡単に作成できます。クラスを COM オブジェクトとして公開するには、[構成プロパティ] ダイアログ ボックスの [ビルド] セクションの、[COM の相互運用機能に登録] チェック ボックスをオンにして、プロジェクトをコンパイルする必要があります。

57kx88c8.alert_note(ja-jp,VS.90).gifメモ :

Visual Basic で作成したクラスをアンマネージ コード用の COM オブジェクトとして公開することも可能ですが、そうすると本来の COM オブジェクトではなくなります。詳細については、「.NET Framework アプリケーションにおける COM 相互運用性」を参照してください。

使用例

この例を実行するには、新しい Class Library アプリケーションを作成し、以下のコードをクラス モジュールに追加します。

    <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 オブジェクトの作成

概念

相互運用固有の属性の適用

Visual Basic で使用される属性

参照

ComClassAttribute クラス メンバ

VBFixedArrayAttribute クラス

VBFixedStringAttribute クラス

System.Runtime.InteropServices

その他の技術情報

Visual Basic における属性