ComClassAttribute クラス
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
ComClassAttribute
属性は、クラスを COM オブジェクトとして公開できるようにするメタデータの追加をコンパイラに指示します。
public ref class ComClassAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Class, AllowMultiple=false, Inherited=false)]
public sealed class ComClassAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Class, AllowMultiple=false, Inherited=false)>]
type ComClassAttribute = class
inherit Attribute
Public NotInheritable Class ComClassAttribute
Inherits Attribute
- 継承
- 属性
この例を実行するには、新しい クラス ライブラリ アプリケーションを作成し、次のコードをクラス モジュールに追加します。
<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
を使用して ComClassAttribute
、Visual Basic から COM コンポーネントを公開するプロセスを簡略化します。 COM オブジェクトは、.NET Frameworkアセンブリとは大きく異なります。を使用しないComClassAttribute
場合は、いくつかの手順に従って Visual Basic から COM オブジェクトを生成する必要があります。
ComClassAttribute
でマークされたクラスに対しては、そうしたさまざまな手順がコンパイラによって自動的に実行されます。
注意
この属性を使用すると、COM オブジェクトの作成が簡略化されます。 クラスを COM オブジェクトとして公開するには、[構成プロパティ] ダイアログ ボックスの [ビルド] セクションで [COM 相互運用機能の登録] オプションを選択してプロジェクトをコンパイルする必要があります。
注意
Visual Basic で作成されたクラスを、アンマネージ コードで使用する COM オブジェクトとして公開することもできますが、これは真の COM オブジェクトではありません。 詳細については、「.NET Framework アプリケーションにおける COM 相互運用性」を参照してください。
Com |
|
Com |
|
Com |
|
Com |
|
ClassID |
クラスを一意に識別するために使用するクラス ID を取得します。 |
EventID |
イベントを一意に識別するときに使用するイベント ID を取得します。 |
InterfaceID |
インターフェイスを一意に識別するときに使用するインターフェイス ID を取得します。 |
Interface |
COM インターフェイス名がクラスまたは基本クラスの別のメンバーをシャドウすることを示します。 |
Type |
派生クラスで実装されると、この Attribute の一意の識別子を取得します。 (継承元 Attribute) |
Equals(Object) |
このインスタンスが、指定されたオブジェクトと等価であるかどうかを示す値を返します。 (継承元 Attribute) |
Get |
このインスタンスのハッシュ コードを返します。 (継承元 Attribute) |
Get |
現在のインスタンスの Type を取得します。 (継承元 Object) |
Is |
派生クラスでオーバーライドされるとき、このインスタンスの値が派生クラスの既定値であるかどうかを示します。 (継承元 Attribute) |
Match(Object) |
派生クラス内でオーバーライドされたときに、指定したオブジェクトとこのインスタンスが等しいかどうかを示す値を返します。 (継承元 Attribute) |
Memberwise |
現在の Object の簡易コピーを作成します。 (継承元 Object) |
To |
現在のオブジェクトを表す文字列を返します。 (継承元 Object) |
_Attribute. |
一連の名前を対応する一連のディスパッチ識別子に割り当てます。 (継承元 Attribute) |
_Attribute. |
オブジェクトの型情報を取得します。この情報はインターフェイスの型情報の取得に使用できます。 (継承元 Attribute) |
_Attribute. |
オブジェクトが提供する型情報インターフェイスの数 (0 または 1) を取得します。 (継承元 Attribute) |
_Attribute. |
オブジェクトによって公開されたプロパティおよびメソッドへのアクセスを提供します。 (継承元 Attribute) |
製品 | バージョン |
---|---|
.NET | Core 3.0, Core 3.1, 5, 6, 7, 8, 9 |
.NET Framework | 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |
.NET に関するフィードバック
.NET はオープンソース プロジェクトです。 フィードバックを提供するにはリンクを選択します。