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 の相互運用機能に登録] チェック ボックスをオンにして、プロジェクトをコンパイルする必要があります。 |
メモ : |
---|
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 オブジェクトの作成
概念
参照
System.Runtime.InteropServices